Ejecución de comandos remotos con sudo / Execute remote commands with sudo


Hace unos días necesitaba ejecutar un par de comandos en un servidor remoto, para lo cuál tenemos una sintáxis como esta:

$ ssh -p66 hvivani@server "cd /home/hvivani/backup/; ls -l"

Vean que separamos los comandos que queremos ejecutar con “;”

Ahora bien, que pasa si necesito ejecutar algo así ?

$ ssh -p66 hvivani@server "cd /etc;sudo vi sudoers"

Obtendremos el siguiente error:

hvivani@server's password: 
sudo: sorry, you must have a tty to run sudo

Para ejecutar comandos remotos con sudo por ssh, deberemos utilizar el parámetro “-t” que creará una pseudo terminal tty para permitirnos la ejecución:

$ ssh -t -p66 hvivani@server "cd /etc;sudo vi sudoers"

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s