Búsqueda de sitios web

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.

SSH es un protocolo remoto seguro que se utiliza para trabajar de forma remota en otras máquinas o transferir datos entre computadoras mediante el comando SCP (Copia segura). Pero, ¿qué es OpenSSH y cómo instalarlo en tu distribución Linux?

¿Qué es OpenSSH?

OpenSSH es un conjunto gratuito de herramientas informáticas de código abierto 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 informática y protocolos, crean una idea errónea sobre OpenSSH, piensan que es un protocolo, pero no lo es, es un conjunto de programas informáticos que utilizan el protocolo ssh .

OpenSSH es desarrollado por el grupo Open BSD y se publica bajo una Licencia BSD simplificada. Un factor principal que ha hecho posible que OpenSSH se utilice tanto entre los administradores de sistemas es su capacidad multiplataforma y las interesantes características muy útiles que tiene.

La última versión es OpenSSH 9.3, que se lanzó el 15 de marzo de 2023 y viene con muchas características y parches nuevos, así que si ya usas OpenSSH Para administrar sus máquinas, le sugiero que realice una actualización o instale ssh desde la fuente.

¿Por qué utilizar OpenSSH sobre Telnet o Ftp?

La razón más importante por la que uno debería utilizar herramientas OpenSSH en lugar de ftp y Telnet es que todas las comunicaciones y credenciales de usuario que utilizan OpenSSH > están cifrados y también están protegidos contra ataques de intermediarios. Si un tercero intenta interceptar tu conexión, OpenSSH lo detecta y te informa al respecto.

Funciones de OpenSSH

  • Comunicación segura
  • Cifrado fuerte (3DES, Blowfish, AES, Arcfour)
  • Reenvío X11 (cifrar el tráfico del sistema X Window)
  • Reenvío de puertos (canales cifrados para protocolos heredados)
  • Autenticación segura (clave pública, contraseña de un solo uso y autenticación Kerberos)
  • Reenvío de agentes (inicio de sesión único)
  • Interoperabilidad (Cumplimiento de los estándares de protocolos SSH 1.3, 1.5 y 2.0)
  • Soporte para cliente y servidor SFTP en protocolos SSH1 y SSH2.
  • Kerberos y transmisión de tickets AFS
  • Compresión de datos

Instalar el servidor OpenSSH en Linux

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

En Debian/Ubuntu/Linux Mint

En distribuciones basadas en Debian, puede utilizar el siguiente comando apt para instalar el servidor y el cliente de openssh como se muestra.

sudo apt install openssh-server openssh-client

En RHEL/Centos/Fedora

En la distribución basada en RedHat, escriba el siguiente comando yum para instalar el servidor y el cliente de openssh.

yum -y install openssh-server openssh-clients

Configurar el servidor OpenSSH en Linux

Es hora de configurar nuestro comportamiento OpenSSH a través del archivo ssh config, pero antes de editar el archivo /etc/ssh/sshd_config necesitamos hacer una copia de seguridad. una copia del mismo, por lo que en caso de cometer algún error tendremos la copia original.

Abra una terminal y ejecute el siguiente comando cp 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, por lo 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? Puedes intentar conectarte al servidor openssh desde tu localhost a través de tu cliente openssh o hacer un portscan 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ártela.

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 del 22? Podemos hacerlo editando el archivo de configuración sshd.

Cambiar puerto SSH

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.

Port 13

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

sudo systemctl restart sshd

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

nc -v -z 127.0.0.1 13

¿Le gustaría que su servidor openssh muestre un bonito banner de inicio de sesión? Puedes hacerlo modificando el contenido del archivo /etc/issue.net.

nano /etc/issue.net

Pegue el siguiente mensaje publicitario.

Authorized access only!

If you are not authorized to access or use this system, disconnect now!

Luego, agregue la siguiente línea dentro del archivo de configuración sshd.

Banner /etc/issue.net

Después de realizar cambios en la configuración de SSH, asegúrese de reiniciar.

sudo systemctl restart sshd
Conclusión

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