Capistrano si blocca quando si richiede la password SUDO a una casella Ubuntu

StackOverflow https://stackoverflow.com/questions/431925

  •  08-07-2019
  •  | 
  •  

Domanda

Ho una ricetta di distribuzione capistrano che sto usando da un po 'di tempo per distribuire la mia app web e quindi riavviare apache / nginx usando il comando sudo. Recentemente cap deploy si blocca quando provo ad eseguire questi comandi sudo. Vedo l'output: " [sudo] password per " Con il mio nome server e il login remoto, ma questo non è un prompt di accesso sicuro. La shell cap è solo in attesa di ulteriori output e non mi consente di digitare la mia password per completare il comando sudo remoto.

C'è un modo per risolvere questo o un lavoro decente in giro? Non volevo rimuovere il prompt della password sudo del mio utente remoto per i comandi di riavvio web.

È stato utile?

Soluzione

Questo sembra accadere anche quando ci si collega a macchine CentOS. Aggiungi la seguente riga nel file di distribuzione capistrano:

default_run_options[:pty] = true

Assicurati anche di usare l'helper sudo invece di eseguire direttamente sudo nei comandi di esecuzione. Ad esempio:

# not
run "sudo chown root:root /etc/my.cnf"

# but
sudo "chown root:root /etc/my.cnf"

Altri suggerimenti

L'altro consiglio può essere valido, ma ho scoperto che una volta aggiornato a Capistrano 2.5.3 il problema è scomparso. Devo assicurarmi di interrompere l'esecuzione delle versioni predefinite degli strumenti forniti con il mio sistema operativo.

# prevent sudo prompting for password
set :sudo_prompt, ""
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top