GNU/Linux >> Tutoriales Linux >  >> Linux

Restrinja el inicio de sesión SSH a una IP o host específico

Este artículo describe cómo configurar un inicio de sesión de Shell seguro (SSH) restringido a un servidor desde una dirección IP o un nombre de host en particular.

Para lograr esto, use TCP Wrappers porque proporcionan un filtrado de tráfico básico del tráfico de red entrante. Aunque en la superficie son más complejos, los TCP Wrappers utilizan esencialmente dos archivos:/etc/hosts.allow y /etc/hosts.deny .

Si los archivos aún no existen, puede crearlos. usando el siguiente comando:

sudo touch /etc/hosts.{allow,deny}

Denegar todos los hosts

Se considera una buena práctica denegar todas las conexiones SSH entrantes. Para hacer eso, realice los siguientes pasos:

  1. Abra el archivo /etc/hosts.deny usando un editor de texto:

     vi /etc/hosts.deny
    
  2. Agregue la siguiente línea para denegar todas las conexiones SSH entrantes al servidor:

     sshd: ALL
    
  3. Guarde y cierre el archivo.

Eso es todo. Esto bloquea todos los accesos SSH al host

Permitir direcciones IP

Ahora, realice los siguientes pasos para configurar las direcciones IP con autorización para iniciar sesión mediante SSH:

  1. Abra el archivo /etc/hosts.allow archivo usando un editor de texto:

     vi /etc/hosts.allow
    
  2. Agrega un sshd para permitir que la dirección IP de su elección se conecte mediante SSH público. Por ejemplo, la siguiente línea permite la red 172.168.0.21 :

     sshd: 172.168.0.21
    
  3. Guarde y cierre el archivo.

Los archivos TCP Wrapper aceptan una lista de entradas separadas por comas, por lo que puede agregar direcciones a la primera entrada de esta sección.

sshd: 172.168.0.21, 10.83.33.77, 10.63.152.9, 10.12.100.11, 10.82.192.28

También aceptan direcciones IP parciales como subredes, por lo que puede permitir el 172.168.0.0/24 completo. como:

sshd: 172.168.0.

O como se muestra en el siguiente ejemplo:

sshd : localhost
sshd : 192.168.0.
sshd : 99.151.250.7

Puede permitir o denegar según la dirección IP, la subred o el nombre de host. Enumere las reglas en orden de más a menos específico. Tenga en cuenta que los servidores basados ​​en sistemas operativos Linux® buscan primero en hosts.allow archivo que comienza de arriba a abajo, seguido de hosts.deny expediente. Por ejemplo, un intento de conexión SSH desde una dirección IP en hosts.allow está permitido, aunque hosts.deny bloquea todas las conexiones.

Con esta configuración, cualquier cliente listado en hosts.allow Los archivos están permitidos a través de SSH y cualquier cliente no incluido en la lista está bloqueado.

Nota :No es necesario reiniciar el demonio SSH para que los cambios surtan efecto.


Linux
  1. Inicio de sesión SSH

  2. ¿Permitir acceso Ssh remoto?

  3. Permitir el inicio de sesión de root ssh solo con autenticación de clave pública

  4. Restrinja rsync sobre ssh solo lectura/solo copia desde host remoto

  5. Permitir SCP pero no el inicio de sesión real mediante SSH

Cómo configurar el inicio de sesión SSH sin contraseña

Permitir inicio de sesión raíz SSH en Ubuntu 20.04 Focal Fossa Linux

Permitir inicio de sesión raíz SSH en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo deshabilitar el inicio de sesión SSH para un usuario específico en Linux

¿Por qué mi inicio de sesión SSH es lento?

¿Cómo restringir a un usuario de SSH para que solo permita el túnel SSH?