Ejecutar comandos ssh en servidores remotos en linux ✓ ejemplos simples

comandos-remotos

Tabla de Contentenido

Cómo ejecutar comandos linux ssh en un servidor remoto:

Para ejecutar un comando en un servidor linux remoto, sólamente tenemos que conectarnos por ssh al servidor remoto, mediante un usuario y ejecutar la instrucción, tal y como se muestra a continuación:

ssh root@92.243.54.126 uptime

Nos pedirá el password del usuario remoto y una vez ponemos el password, ejecutará el comando y nos dará la salida por pantalla:

root@ns135:~# ssh root@92.243.54.126 uptime
The authenticity of host ‘92.243.54.126’ can’t be established.
RSA key fingerprint is SHA256:oKwjEzpemLoNRYR0nPawaHwSrc8IlkejHQbVEoCj9tA.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘92.243.54.126’ (RSA) to the list of known hosts.
root@92.243.54.126’s password:
 07:22:23 up 51 days,  8:31,  0 users,  load average: 1.16, 0.94, 0.66
root@ns135:~#

Tal y como vemos después de autenticarnos en el servidor remoto, ejecuta el comando uptime y nos muestra por pantalla la carga del sistema remoto.

Ejecución de múltiples comandos en servidor remoto:

En el caso que queramos ejecutar más de un comando linux en un servidor remoto, se escribe entre comillas y los comandos seguidos por puntos y comas:

ssh root@92.243.54.126 'uptime;date;df -h'

ssh root@92.243.54.126 ‘uptime;date;df -h’
root@92.243.54.126’s password:
07:36:16 up 51 days, 8:45, 0 users, load average: 0.06, 0.20, 0.40
vie jun 26 07:36:16 CEST 2020
S.ficheros Size Used Avail Use% Montado en
/dev/sda1 19G 4,7G 13G 27% /
tmpfs 3,0G 0 3,0G 0% /lib/init/rw
udev 3,0G 44K 3,0G 1% /dev
tmpfs 3,0G 0 3,0G 0% /dev/shm
/dev/sda2 661G 378G 249G 61% /var
root@ns135:~#

Ejecución remota de comandos entrecomillados:

En el caso de que el comando que vayamos a ejecutar contanga comillas, tenemos que entrecomillar todo el comando. En el caso de que contenga comillas simples, lo entrecomillamos con comillas dobles y viceversa:

 

ssh root@92.243.54.126 'echo "Test comando entrecomillado"'
ssh root@92.243.54.126 "echo 'Test comando entrecomillado'"

Ejecución remota por ssh en un puerto concreto:

Para ejecutar el comando en un puerto diferente del por defecto ssh (puerto 22) añadiremos al comando la opción -p y seguido el puerto concreto:

ssh root@92.243.54.126 -p555 uptime

Ejecución remota de comandos sin password:

Para ejecutar remotamente comandos sin tener que poner el password, será necesario en muchas ocasiones, sobretodo en scripts que ejecutaremos automáticamente mediante tareas programadas en el cron. Para configurarlo correctamente dále un vistazo al artículo:

Conexión ssh remota sin password

remote-comand

Más información: