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).

cd ~/.ssh
ssh-keygen -t rsa
exec ssh-agent bash
ssh-add id_rsa

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)

scp id_rsa.pub remoteuser@remotehost.com:~/.ssh/

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.

cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

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

ssh remoteuser@remotehost.com uname -a

Deja un comentario