Cómo instalar y configurar el servidor OpenSSH en Linux


Ser administrador de red requiere un conocimiento profundo de los protocolos de inicio de sesión remoto como rlogin, telnet y ssh. El que discutiré en este artículo es ssh, un protocolo remoto seguro que se usa para trabajar de forma remota en otras máquinas o transferir datos entre computadoras usando el comando SCP (Copia segura). Pero, ¿qué es OpenSSH y cómo instalarlo en tu distribución de Linux?

¿Qué es OpenSSH?

OpenSSH es un conjunto de herramientas informáticas de código abierto gratuito que se utiliza para proporcionar comunicación segura y cifrada a través de una red informática mediante el protocolo ssh. Muchas personas, nuevas en computadoras y protocolos, crean un concepto erróneo sobre OpenSSH, piensan que es un protocolo, pero no lo es, es un conjunto de programas de computadora que usan el protocolo ssh.

OpenSSH es desarrollado por el grupo Open BSD y se publica bajo licencia BSD simplificada. Un factor principal que ha hecho posible que OpenSSH se use tanto entre los administradores de sistemas es su capacidad multiplataforma y las características agradables muy útiles que tiene. La última versión es OpenSSH 6.4, que se lanzó el 8 de noviembre de 2013.

Esta versión de OpenSSH viene con muchas características y parches nuevos, por lo que si ya usa OpenSSH para administrar sus máquinas, le sugiero que realice una actualización.

¿Por qué utilizar OpenSSH y Telnet o Ftp?

La razón más importante por la que debería usar herramientas OpenSSH sobre ftp y telnet es que todas las comunicaciones y las credenciales de usuario que usan OpenSSH están encriptadas, también están protegidas contra ataques de intermediarios. Si un tercero intenta interceptar su conexión, OpenSSH lo detecta y le informa al respecto.

¿Cuáles son algunas de las características de OpenSSH?

  1. Comunicación segura
  2. Cifrado fuerte (3DES, Blowfish, AES, Arcfour)
  3. Reenvío X11 (cifrar el tráfico del sistema X Window)
  4. Reenvío de puertos (canales encriptados para protocolos heredados)
  5. Autenticación sólida (clave pública, contraseña de un solo uso y autenticación Kerberos)
  6. Reenvío de agentes (inicio de sesión único)
  7. Interoperabilidad (cumplimiento de los estándares de protocolo SSH 1.3, 1.5 y 2.0)
  8. Compatibilidad con servidor y cliente SFTP en los protocolos SSH1 y SSH2.
  9. Aprobación de tickets de Kerberos y AFS
  10. Compresión de datos

Instalación de OpenSSH en Linux

Para instalar OpenSSH, abra una terminal y ejecute los siguientes comandos con permisos de superusuario.

$ sudo apt-get install openssh-server openssh-client

Escriba el siguiente comando yum para instalar el cliente y el servidor openssh.

# yum -y install openssh-server openssh-clients

Configuración de OpenSSH

Es hora de configurar nuestro comportamiento OpenSSH a través del archivo de configuración ssh, pero antes de editar el archivo/etc/ssh/sshd_config necesitamos hacer una copia de seguridad del mismo, así que en caso de que cometamos algún error tenemos la copia original.

Abra una terminal y ejecute el siguiente comando para hacer una copia del archivo de configuración sshd original.

$ sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.original_copy

Como puede ver en el comando que escribí, agregué el sufijo original_copy, así que cada vez que veo este archivo sé que es una copia original del archivo de configuración sshd.

¿Cómo me conecto a OpenSSH?

Antes de continuar, debemos verificar si nuestro servidor openssh está funcionando o no. ¿Como hacer eso? Puede intentar conectarse al servidor openssh desde su localhost a través de su cliente openssh o hacer un escaneo de puertos con nmap, pero me gusta usar una pequeña herramienta llamada netcat, también conocida como la navaja suiza TCP/IP. Me encanta trabajar con esta increíble herramienta en mi máquina, así que déjame mostrártelo.

# nc -v -z 127.0.0.1 22

En referencia a los resultados de netcat, el servicio ssh se está ejecutando en el puerto 22 de mi máquina. ¡Muy bien! ¿Qué pasa si queremos usar otro puerto, en lugar de 22? Podemos hacerlo editando el archivo de configuración sshd.

Configure su OpenSSH para escuchar en el puerto TCP 13 en lugar del puerto TCP predeterminado 22. Abra el archivo sshd_config con su editor de texto favorito y cambie la directiva del puerto a 13.

# What ports, IPs and protocols we listen for
Port 13

Reinicie el servidor OpenSSH para que los cambios en el archivo de configuración puedan tener lugar escribiendo el siguiente comando y ejecute netcat para verificar si el puerto que configuró para escuchar está abierto o no.

$ sudo /etc/init.d/ssh restart

¿Debemos verificar si nuestro servidor openssh está escuchando en el puerto 13 o no? Esta verificación es necesaria, así que estoy llamando a mi adorable herramienta netcat para que me ayude a hacer el trabajo.

# nc -v -z 127.0.0.1 13

¿Le gusta que su servidor openssh muestre un bonito banner de inicio de sesión? Puede hacerlo modificando el contenido del archivo /etc/issue.net y agregando la siguiente línea dentro del archivo de configuración sshd.

Banner /etc/issue.net

Conclusión

Hay muchas cosas que puedes hacer con las herramientas de openssh cuando se trata de la forma en que configuras tu servidor de openssh, ¡puedo decir que tu imaginación es el límite !.

Lea también: 5 mejores prácticas para asegurar y proteger el servidor OpenSSH