Vamos a ver cómo instalar y configurar un servidor SSH para mayor seguridad en el acceso de los usuarios de la máquina Linux.


 
   

 

Sitio oficial de Open SSH: https://www.openssh.com/

 

 

 


 

 

1. Para qué un servidor SSH

 
Por seguridad. SSH es más difícil de interceptar que una comunicación sin cifrar. Además SSH puede utilizar pares de clave pública y privada.
 

 

2. SSH Servidor y SSH Cliente

 
Hemos de diferenciar entre el servidor y el cliente SSH.
 
SERVIDOR SSH:

  • En Linux, podremos instalar Open SSH.

 

CLIENTE SSH:

Como cliente SSH en Windows podemos utilizar el famoso PuTTY. Y en Linux conectaremos directamente por terminal.

 

 

 

3. Instalación de Servidor SSH (con Open SSH)

 
Comenzamos instalando Open SSH Server

dependiendo de la distro Linux usaremos:

o

 

 
Tras la instalación, debemos revisar el archivo de configuración del servidor SSH y modificaremos las directivas activadas, el puerto de escucha, los usuarios que deseamos que puedan acceder por SSH …
 

 

3.1 ARCHIVO DE CONFIGURACIÓN DE SERVIDOR OPEN SSH

 
El archivo de configuración principal del servidor SSH es el archivo sshd_config


 

 

3.2 CONFIGURAR ARCHIVO sshd_config

 
Vemos el contenido del archivo sshd_config por defecto:

 

 

El resto del archivo sshd_config:

 

 

4. DIRECTIVAS SSH INTERESANTES Y ÚTILES

 

4.1 Directiva AuthorizedKeysFile (directorio donde configurar los hosts y claves autorizadas)

 
El directorio donde se encuentran los hosts conocidos y las claves almacenadas, es:

/home/usuario/.ssh/
 

Podemos verlo en el archivo de configuración del server SSH: /home/usuario/.ssh/

SSH | PubkeyAuthentication AuthorizedKeysFile
 
En el archivo de configuración aparecerá por defecto: %h/.ssh/authorized_keys

que significa la home del usuario/.ssh/authorized_keys
 

Y concretamente en el archivo authorized_keys se encuentran las claves públicas y el hostname de cada uno de los hosts que tienen permitido el acceso al Server OpenSSH:
 

 

 

4.2 Generación de claves SSH

 

Lo podemos ver en el post sobre clave pública/privada de SSH

 

 

4.3 Directivas SSH para denegar acceso usuarios/grupos

 
Ya hablamos de estas directivas en el post: Permisos usuarios y grupos SSH Server

DenyUsers: Permite especificar usuarios a los que deseamos denegar el acceso SSH.

DenyGroups : Permite especificar grupos de usuarios a los que deseamos denegar el acceso SSH.
 

 

4.4 Opciones Conexión SSH

 

 

 

4.5 Comandos para gestionar el servicio de servidor SSH

 

  • Iniciar el servidor SSH

  • Apagar el servidor SSH

  • Reiniciar el servidor SSH

  • Comprobar el estado del servicio SSH:

Este comando nos mostrará si el servicio se encuentra funcionando, si hay errores en alguno de los archivos de configuración, y en qué puertos e interfaces está funcionando el servicio de OpenSSH.


 

 

5. Aspectos de seguridad que podemos configurar para crear un servidor SSH más seguro

 

  • Cambiar el puerto de funcionamiento por defecto de SSH (22) a otro de nuestra elección, que no esté ocupado por ningún servicio: Port 21335
  • Deshabilitar el acceso al usuario Root:  (PermitRootLogin no)
  • Limitar el número de intentos permitidos para introducir el password correcto, antes de desconectar al usuario: MaxAuthTries
  • Establecer un tiempo menor para que el usuario pueda autenticarse en el servidor:  LoginGraceTime
  • Permitir/Denegar a ciertos usuarios: AllowUsers/DenyUsers
  • Permitir/Denegar a ciertos grupos de usuarios: AllowGroups/DenyUsers

 

 

Esto es lo básico que necesitamos para configurar de forma rápida un servidor OpenSSH, sin muchos quebraderos de cabeza, y con algo de seguridad.

 
Si queremos hilar más fino, podemos revisar otros aspectos de seguridad como por ejemplo los relativos a permisos de usuarios y grupos SSH, y revisar algunos posibles errores en un Server SSH puede mostrarnos de forma más o menos habitual.

 


Etiquetas del articulo: , ,


Suscríbete para acceder a la zona privada

Suscribiéndote a la lista de correo de El Taller del Bit conseguirás entrar a la zona privada de descargas con materiales exclusivos (ebooks, artículos privados, plugins, descargas de exámenes resueltos ...)

Gracias. Te has suscrito con éxito!