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: , ,


Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas y para servir más rápidos los contenidos.

gpdr,wpSGCacheBypass

Cookies de terceros

Usamos cookies de terceros en las que se almacenan externamente para conocer tus usos de navegación, si ya estás suscrito al boletín y los elementos compartidos en redes sociales.

1P_JAR, AID, DSID, IDE, NID, JCS_INENREF, JCS_INENTIM, __cfduid, _ga, _gat, _gat_gtag_UA_16843793_11, _gid,_wpss_h_, _wpss_p_, gadwp_wg_default_dimension, gadwp_wg_default_metric, gadwp_wg_default_swmetric