La guía completa del archivo sshd_config para Linux

La guía completa del archivo sshd_config para Linux

El protocolo SSH o Secure Shell se utiliza para iniciar sesión de forma remota en una máquina y ejecutar comandos en la máquina remota. Los datos que se transfieren utilizando el protocolo SSH están encriptados con algoritmos especiales que hacen que SSH sea más seguro que Telnet. Básicamente, OpenSSH es una herramienta que implementa este protocolo.

¿Qué cubriremos??

En esta guía, exploraremos los diferentes aspectos del archivo de configuración del servidor OpenSSH. Empecemos ahora.

Archivos de configuración de OpenSSH

Hay algunos archivos principales para el cliente OpenSSH y el servidor. Tiene dos tipos de archivos de configuración:

1. Archivos relacionados con el lado del cliente: uno de los archivos es ssh_config. Es un archivo de configuración de todo el sistema. Este archivo se encuentra en /etc/ssh/ssh_config.

El otro archivo es config, que es un archivo de configuración específico del usuario ubicado en $ home/.ssh/config.

El programa SSH en un host toma la configuración de estos archivos o a través de la interfaz de línea de comandos. En el caso de los archivos mencionados anteriormente, el archivo de configuración de todo el sistema, que es ssh_config, recibe la prioridad sobre el archivo "config" específico del usuario.

2. sshd_config: está relacionado con el lado del servidor. El servidor OpenSSH lee este archivo cuando se inicia.

Explorando el SSHD Archivo de configuración

El archivo de configuración SSHD contiene muchas directivas que también se pueden personalizar. Veamos el diseño predeterminado de este archivo:

$ cat/etc/ssh/sshd_config


# Este es el archivo de configuración del sistema de servidor SSHD. Ver

# sshd_config (5) para obtener más información.

Puerto 222
Escucharaddress 0.0.0.0
ListenDdress ::
Hostkey/etc/ssh/ssh_host_key
ServerKeyBits 768
Loginguracetime 600
KeyRegeration Interval 3600
Permitrootlogin si
IgnorerHosts si
Strict Modes si
X11 para no
Permitirse el trabajo no
Permiso no
X11DisplaYoffset 10
Printmotd sí
Keepalive sí
Auth SyslogFacility
Información de Loglevel
Rhostsauthentication no
RhostSrsaAuthentication no
Rsaautenticación Sí
Contraseña Autenticación Sí
PermenTemptyPasswords No
CHECKMAIL NO


Cualquier línea que comience con "#" se toma como comentario. Exploremos algunos de los parámetros dados:

1. La directiva de puerto especifica un número de puerto. Este es el número de puerto en el que el SSHD escucha las conexiones. El valor predeterminado de este puerto es 22, que es el estándar. Sin embargo, en nuestro caso, lo cambiamos a 222.

Además, podemos especificar más de una directiva de puerto. De esta manera, podemos usar múltiples puertos para escuchar en las conexiones SSHD.

2. La escucha de escucha contiene la dirección IP para escuchar. La acción predeterminada es escuchar en toda la dirección IP que está vinculada al servidor. También tenga en cuenta que la Directiva del puerto debe tener éxito en la Directiva de ListenAddress.

3. La ruta de clave de host RSA privada se especifica por la Directiva del Kekey de host. En el caso anterior, el camino es /etc/ssh/ssh_host_key.

4. La Directiva Permitrootlogin permite el inicio de sesión de la raíz para SSHD cuando está configurado en Sí. Esto debe establecerse en no a menos que los anfitriones.Permitir y anfitriones.Los archivos de negar se utilizan para restringir el acceso SSHD.

5. La Directiva X11 para el Sistema de ventana X permite el reenvío de la ventana cuando se establece en Sí.

6. ¿Qué instalación de syslog es que el SSHD Debe el uso se especifica utilizando la Directiva de SyslogFacility. Mantenga el valor predeterminado como está.

7. El nivel de registro para Syslog se especifica utilizando la Directiva Loglevel.

Cambiando el SSHD Puerto

Por defecto, el SSHD u OpenSsh Servidor Daemon usa el puerto 22 del protocolo TCP. Se recomienda cambiar este número de puerto a algún otro valor en un entorno de prueba. Esto nos asegura que la conectividad del servidor está disponible todo el tiempo.

Además, es una buena práctica verificar la sintaxis de la configuración de un nuevo archivo sshd_config antes de usarlo, independientemente de qué puerto se ejecuta. Para verificar la sintaxis, podemos usar el siguiente comando:

$ sshd -t


También es importante tener en cuenta que solo el usuario raíz debe poder leer y escribir en este archivo. Esto significa que si un archivo de configuración sshd_config está asegurado correctamente, ejecutando el comando anterior necesita autoridad raíz.

Si no aparece la salida al ejecutar el comando de verificación de sintaxis anterior, significa que el archivo está bien.

Modificando el archivo de configuración predeterminado y el puerto

En algunos casos, queremos ejecutar una nueva instancia de SSHD en un puerto diferente. Esto puede deberse a que el puerto 22 ya está en uso o puede haber algunas áreas de riesgo para cambiar este puerto en un entorno de producción. En tales tipos de situaciones, podemos crear un archivo de configuración alternativo para nuestro servidor.

Creemos un nuevo archivo sshd_config como sshd_config_new. Este archivo se puede usar para algunos parámetros del servidor diferentes. Ahora, especifiquemos que este archivo se considere como el nuevo archivo de configuración del servidor en el número de puerto 100:

$ sudo/usr/sbin/sshd -f/etc/ssh/sshd_config_new -p 100


El Daemon SSHD ahora escucha en el puerto 100. Podemos usar cualquier valor de puerto pero no el que ya está en uso.

Ahora, verifiquemos si nuestro nuevo puerto funciona según lo desee. Para esto, tenemos que usar un programa de cliente SSH y ejecutar el siguiente comando:

$/usr/bin/ssh -p 100



La opción "-p" especifica el puerto 100 que se utilizará en el servidor remoto. En caso de que estamos probando localmente, podemos usar la IP del servidor para ser la IP localhost:

$/usr/bin/ssh -p 100 127.0.0.1

Solución de problemas de la configuración de apertura

A veces, nuestro servidor no funciona como se desea. En tales casos, podemos usar el indicador "-d" para solucionar los problemas de la configuración del servidor OpenSSH. Usando el indicador "-d", el servidor ingresa al modo de depuración y maneja solo una conexión.

La salida que se produce en el modo de depuración es detallado. Podemos usar más banderas "-d" para elevar el nivel de depuración. Ejecutemos el comando de depuración en nuestro servidor utilizando el nuevo archivo de configuración:

$/usr/sbin/sshd -d -p 100 -f/etc/ssh/sshd_config_new


La salida de los registros de comando anteriores a Stderr en lugar de usar la instalación de autenticación de syslogd.

Conclusión

OpenSsh Daemon o SSHD es una parte crucial de muchas infraestructuras administrativas. Como tal, requiere experiencia para administrarlo para una operación óptima. En este artículo, aprendimos sobre el archivo de configuración del servidor OpenSSH como sshd_config.