Opciones de Configuración en Servidores SSH

,
Opciones de configuración en servidores SSH

El presente artículo contiene algunas de las configuraciones más comunes en servidores SSH que te permitirán definir cómo el servidor responderá y qué tipo de conexiones serán permitidas.

Desactivando la autenticación por contraseña

Si posees llaves SSH configuradas, probadas y trabajando correctamente, es una buena idea desactivar la autenticación por contraseña. Esto evita que cualquier usuario puede autenticarse mediante SSH con una contraseña a tus servidores SSH. Para ello, debes conectarte al servidor remoto y editar el archivo “/etc/ssh/sshd_config” con privilegios de root.

Una vez abierto el archivo, localiza la línea “PasswordAuthentication”; si está comentada, descoméntala y ajústala a:

Después de salvados los cambios, reinicia el demonio ssh para aplicar los cambios. En Debian/Ubuntu es de la siguiente manera:

En CentOS/Fedora es:

Cambiando el puerto del Demonio SSH

En ocasiones es sugerido como medida de seguridad, cambiar el puerto (por defecto puerto 22) por el que escucha el demonio SSH. Esto hace posible que disminuyan los intentos de autenticación en tus servidores SSH provenientes de bots automatizados en internet. Para ello, debes conectarte al servidor remoto y editar el archivo “/etc/ssh/sshd_config” con privilegios de root.

Una vez abierto el archivo, localiza la línea “Port 22”. Luego especifica el puerto que quieres que el demonio SSH escuche por conexiones entrantes. Por ejemplo:

Después de salvados los cambios, reinicia el demonio ssh para aplicar los cambios.

En Debian/Ubuntu:

En CentOS/Fedora:

Limitar los usuarios que pueden conectarse por SSH

Para limitar los usuarios que pueden conectarse a través de SSH al servidor remoto, existen varias formas. Una de ellas consiste en editar el archivo de configuración del demonio SSH. En el servidor remoto, edita el archivo “/etc/ssh/sshd_config” con privilegios de root.

El primer método consiste en especificar las cuentas que serán permitidas mediante la directiva “AllowUsers”, por ejemplo:

También es posible definir que solo puedan conectarse por SSH los usuarios que pertenecen a un determinado grupo, mediante la directiva “AllowGroups”. Por ejemplo:

Salva los cambios en el archivo de configuración del demonio SSH. A continuación, crea un grupo del sistema (sin directorio home) que coincida con el nombre del grupo definido anteriormente:

Ahora debes agregar los usuarios que quieres que se conecten mediante SSH a dicho grupo:

Finalmente reinicia el demonio ssh para aplicar la nueva configuración.

En Debian/Ubuntu:

En CentOS/Fedora:

Desactivando el Inicio de Sesión como Root

Es aconsejable desactivar completamente el inicio de sesión mediante el usuario root a través de SSH, una vez que hayas configurado una cuenta con privilegios de root (sudo). Para ello, edita el archivo de configuración del demonio SSH con privilegios de root:

Localiza la directiva “PermitRootLogin”, si está comentada, descoméntala y ajústala a:

Salva los cambios y reinicia el demonio ssh para aplicar la nueva configuración.

En Debian/Ubuntu:

En CentOS/Fedora:

Permitir acceso Root a determinados comandos

Existen algunos casos donde deseas desactivar el acceso a root, pero activarlo con el objetivo de permitir que ciertas aplicaciones se ejecuten correctamente. Por ejemplo, para la ejecución de tareas de respaldo. Esto puede realizarse fácilmente mediante las llaves autorizadas (archivo authorized_keys) del usuario root.

Si ya tienes un par de llaves SSH, debes agregarlas al servidor remoto, aunque se recomienda generar un par de llaves para cada proceso automatizado. Una vez agregada la llave pública en el servidor SSH, debes iniciar sesión y ajustar el archivo authorized_keys para que ejecute un determinado comando con la llave SSH:

Al inicio de la línea de la llave que subiste anteriormente al servidor remoto, agrega esto:

Donde command=”” define el camino absoluto del comando a ejecutar con la llave SSH especificada.

A continuación, abre el archivo de configuración del demonio SSH y modifica la directiva “PermitRootLogin” como se muestra a continuación:

Salva los cambios y reinicia el demonio ssh para aplicar la nueva configuración.

En Debian/Ubuntu:

En CentOS/Fedora:

Reenvío de Aplicaciones X al Cliente SSH

El demonio SSH puede ser configurado para ejecutar el entorno gráfico de una aplicación del servidor remoto en el cliente. Para que esta función trabaje correctamente, el cliente debe tener un sistema de ventanas X (X Windows System). Para activar esta funcionalidad, debes iniciar sesión en el servidor remoto y editar el archivo “/etc/ssh/sshd_config” con privilegios de root. A continuación, localiza la directiva “X11Forwarding” y ajústala de la siguiente forma:

Finalmente salva los cambios y reinicia el demonio ssh para aplicar la nueva configuración.

En Debian/Ubuntu:

En CentOS/Fedora:

Para conectarte al servidor remoto y ejecutar la apliación gráfica en tu PC, debes especificar la opción “-X” al cliente SSH:

Las aplicaciones gráficas iniciadas en el servidor remoto a través de esta sesión serán visualizadas en tu computadora local. El rendimiento puede ser un poco lento, pero esto suele ser muy útil en varias ocasiones.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *