Una de las tareas más habituales en las empresas donde se presta un servicio de mantenimiento sobre equipos Linux, es la conexión remota a éstos. Para ello, se hace uso del comando ssh, que nos permite acceder al equipo remoto y controlarlo como si de un equipo local se tratara.

Existen otras herramientas para conectar a un equipo remotamente, como por ejemplo puede ser telnet, pero a diferencia de éste, ssh trabaja con una conexión cifrada

No en todas las distribuciones viene instalado por defecto,  así que, en caso de no tenerlo instalado, se haría de la forma habitual en sistemas basados en Debian:

sudo apt-get install ssh

También es posible descargar las fuentes desde

http://www.openssh.com

Su uso más habitual, aunque tiene otros, es el que presenta la siguiente sintaxis:

ssh -p [nº de puerto] [usuario]@[máquina]

Y sus opciones más utilizadas (existen más) son:

  • -p [nº de puerto]: Donde se debe indicar el nº de puerto al que nos conectaremos. Si no se indica ninguno, el puerto predeterminado ssh es el 22, por lo que será a éste al que conectará
  • [usuario]: Se puede indicar el usuario que se conectará a la máquina remota, en caso de no indicar ninguno, ssh tomará como usuario que intenta conectar,  el que se esté utilizando en ese momento en la máquina local
  • [máquina]: Aquí se debe especificar a qué máquina se va a realizar la conexión. Puedes hacerlo tanto indicando su ip (Por ejemplo: 216.58.210.227) como su dominio (Por ejemplo: google.es)

Es decir, que al ejecutar:

ssh oscar@mimaquina.com

Se realizará una conexión al equipo con dirección mimaquina.com con el usuario oscar.

Si los datos se han introducido correctamente, y dependiendo de la seguridad que presente el equipo remoto, a continuación de ejecutar el comando con las opciones, se solicitará la contraseña de acceso para el usuario que intenta realizar la conexión. Una vez introducida correctamente la contraseña, cargará el prompt de la máquina remota, y podremos hacer uso de ella.

Al ser un comando muy utilizado en tareas de reparación y mantenimiento, es también muy usual verlo en combinación de otros comandos. Después de  ejecutarlos, solicitará la contraseña de acceso como se ha dicho anteriormente, y ejecutará la siguiente acción. Como los ejemplos que siguen a continuación:

ssh root@192.168.1.50 reboot

De esta forma, la máquina remota se reiniciará.

ssh root@192.168.1.50 shutdown -h now

Se utiliza para apagar la máquina a la que se realiza la conexión.

Nota: En la mayoría de ocasiones, para combinar con este tipo de comandos (reboot, shutdown…) que se utilizan para tareas más importantes del sistema, la conexión debe realizarse con el usuario root, o con alguno que disponga de los suficientes permisos para ejecutarlos.