danirod

Cómo instalar un servidor SSH en Linux

Me he comprado un ordenador nuevo. Mi ordenador antiguo aún puede dar un poco más de sí y no me apetece apagarlo, pero tampoco quiero mantener una torre, un monitor y un teclado en mi mesa teniendo en cuenta que no los voy a usar tanto. Con el fin de darle una segunda vida al ordenador para hacer cosas con él pero hacerlo sin tenerlo montado, he instalado un servidor SSH en él.

Con un servidor SSH puedes usar de forma remota la terminal de un sistema operativo Linux, como si estuvieses en una TTY (Ctrl+Alt+F1) o en una terminal de la interfaz gráfica. Con esto puedo aislar mi ordenador y dejarlo en el sótano pero conectarme a él desde el portatil o desde cualquier parte del mundo, como cuando estoy en la universidad, si lo conecto a Internet.

Instalar el servidor OpenSSH

Para instalar un servidor SSH basta con instalar el paquete openssh-server. En función del sistema operativo que utilices tendrás que usar un comando u otro. Por ejemplo, para el gestor de paquetes apt se puede usar:

apt-get install openssh-server

El servidor SSH se descargará, se instalará, y se activará, y se programará para activarlo al encender el ordenador.

Establecer una política de seguridad

Si vas a conectar tu ordenador a Internet para poder trabajar con él remotamente, desde cualquier parte del mundo, debes tener en cuenta que no sólo tú vas a ser capaz de entrar a tu ordenador, sino también cualquier intruso no deseado. Por lo tanto, hay que establecer una buena política de seguridad si quieres evitar que haya problemas en tu servidor.

Abre el archivo de configuración de SSH, localizado en /dev/ssh/sshd_config, con permisos de super-usuario:

su
vi /dev/ssh/sshd_config

Y ahora deberás toquetear lo que quieras cambiar.

Busca la línea PermitRootLogin, descoméntala si aparece comentada, y cambia su valor por no. Muchos hackers tratan de conectarse a los SSH de servidores al azar tratando de acceder como root, por lo que deberías bloquear este acceso. Si necesitas ser root, entra como un usuario normal y luego haz un su.

Conectarse con un cliente SSH

Para conectarse con un cliente SSH desde Linux basta con que inicies el programa ssh desde la consola, usando el formato:

ssh {usuario}@{servidor} -p {puerto}

Donde

  • Usuario es el nombre de usuario con el que te quieres conectar. No hace falta que lo pongas si te vas a conectar con el mismo nombre de usuario que el del ordenador en el que estás ejecutando el cliente.
  • Servidor es la dirección del servidor SSH.
  • Puerto es el puerto de conexión. Si es 22 no hace falta que lo indiques.

Si no consigues que funcione ssh deberás instalar openssh-client. Por ejemplo:

dani@kappa:~ ssh 192.168.1.2

En este caso me conectaré a 192.168.1.2 en el puerto 22 con el nombre de usuario dani. OpenSSH también tiene una versión para Windows, la cual se instala como un programa más. Una vez instalado, es posible también usar el comando ssh desde la consola de comandos de Windows.

Parece que hay que tener cuidado con las mayúsculas en los nombres de usuario. En el portátil con Windows, mi nombre de usuario es Dani, y aunque a Windows le da igual las mayúsculas, a Linux no tanto. Si ejecuto este comando:

C:\Users\Dani> ssh 192.168.1.2

Se va a intentar conectar como Dani con D mayúscula. Como en la otra máquina el nombre de usuario tiene minúsculas, le molesta y no conecta. Tengo que conectarme del siguiente modo:

C:\Users\Dani> ssh dani@192.168.1.2

En este caso funcionará perfectamente. Aunque no del todo, dado que la versión para Windows de OpenSSH es incompatible con ciertos programas que dibujan de manera avanzada en la consola, como nano (que muestra una interfaz interactiva con texto arriba y texto abajo), porque la consola de Windows tampoco da para más. Si vas a usar a menudo un SSH en Windows conviene que instales un programa más avanzado como PuTTY.