13 de febrero de 2012

Cómo instalar un servidor SSH en Linux

Recientemente me he comprado un ordenador nuevo. Mi antiguo ordenador es demasiado potente y estable a día de hoy como para apagarlo para siempre y dejar que el tiempo lo consuma, pero tampoco quiero mantener una torre, un monitor y un teclado en mi mesa teniendo en cuenta que no los voy a usar dado que mi nuevo ordenador es un portátil. Con el fin de darle una segunda vida al ordenador he preferido instalarle una distribución de GNU/Linux y activar un servidor SSH.

Por medio de un servidor SSH puede utilizarse de manera remota la terminal de un sistema operativo Linux, del mismo modo que se utilizaría estando delante por medio de un TTY (Ctrl+Alt+F1) o de la consola típica de la interfaz gráfica. Lo único que cambia es que no estás delante del ordenador, sino a través de Internet. Gracias a esto, puedo aislar mi ordenador, dejándolo por ejemplo en el sótano, pero trabajar con él desde el resto de la casa, o desde cualquier sitio del mundo gracias a que está conectado 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: PermitRootLogin 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.

Si sólo quieres que unos cuantos usuarios puedan entrar al SSH deberás descomentar la línea AllowUsers y añadir por espacios los nombres de usuario (UID) que quieras autorizar para el uso de SSH. Por ejemplo, si en mi sistema hubiera cuatro usuarios, dani, lfs, abcdef y ghijkl, y sólo quisiera permitir conectarse por SSH a dani y a abcdef, tendría que dejar la línea como AllowUsers dani abcdef.

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}:{puerto}

Donde

  • Usuario es el nombre de usuario con el que te quieres conectar. Si en la máquina cliente el nombre de usuario es el mismo que el de la máquina servidor, no hace falta que lo escribas.
  • 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. En mi portátil el nombre de usuario es Dani, con mayúscula al inicio. Esto causa problemas con Linux, que distingue mayúsculas y minúsculas, por lo que si me limitara a escribir

C:\Users\Dani>ssh 192.168.1.2

tratará de conectarse con el usuario Dani, conservando esa mayúscula al inicio del nombre, por lo que saltará un fallo dado que no hay ningún Dani en mi servidor; aunque sí un dani, por lo que lo correcto sería:

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). Si vas a usar a menudo un SSH en Windows conviene que instales un programa más avanzado en Windows, como PuTTY.

PuTTY

Para instalar PuTTY ve a esta dirección y haz clic en el enlace putty.exe de la primera línea en la sección For Windows on Intel x86. No necesita instalación. Sencillamente, ejecútalo. Dentro de la casilla Host Name, que se abre por defecto al principio, escribe la dirección del servidor. Es conveniente que para conectarte a hosts con Linux vayas a la ficha Window | Translation de la parte izquierda de la pantalla y en Remote character set: cambies lo que tengas (normalmente será ISO-8859-1) por UTF-8, dado que la codificación de caracteres que usa Linux es UTF-8, y no tomándola podrías tener problemas como letras que se ven extraño.

Luego pulsa Connect y te conectarás como de costumbre. Te pedirá un nombre de usuario antes de conectar.

No hay comentarios:

Publicar un comentario en la entrada

Los comentarios que contengan spam serán borrados. Respeta la opinión de todo el mundo y no te metas con nadie.