Ejecutar comandos en equipo remoto por SSH sin clave en Linux

Si necesitas ejecutar comandos a través de una terminal hacia un equipo remoto sin necesidad de estar escribiendo usuario y clave cada vez, la mejor opción es usar conexión SSH a través de llaves publicas y privadas.

En el equipo local ejecuta los siguientes comandos. (si la carpeta .ssh no existe creala en tu carpeta home).

[simterm]$ cd ~/.ssh[/simterm]

[simterm]$ ssh-keygen -t rsa[/simterm]

[simterm]$ exec ssh-agent bash[/simterm]

[simterm]$ ssh-add id_rsa[/simterm]

Copia la llave publica a la carpeta .ssh del equipo remoto (si la carpeta .ssh no existe creala en la carpeta home del usuario con el que te conectaras)

[simterm]$ scp id_rsa.pub remoteuser@remotehost.com:~/.ssh/[/simterm]

Sustituye remoteuser y remotehost.com con el usuario y el host remoto según sea en tu caso.

En el equipo remoto ejecuta los siguientes comandos.

[simterm]$ cd ~/.ssh[/simterm]

[simterm]$ cat id_rsa.pub >> authorized_keys[/simterm]

[simterm]$ chmod 600 authorized_keys[/simterm]

Listo, ahora desde el equipo local ejecuta cualquier programa sobre el equipo remoto, por ejemplo uname -a con la siguiente linea.

[simterm]$ ssh remoteuser@remotehost.com uname -a[/simterm]

Deja un comentario