¿Cómo puedo permitir la autenticación de contraseña SSH solo desde ciertas direcciones IP?


103

Me gustaría permitir la autenticación de contraseña SSH desde solo una subred determinada. Veo la opción de no permitirlo globalmente en /etc/ssh/sshd_config:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

¿Hay alguna manera de aplicar esta configuración a un rango selecto de direcciones IP?

Respuestas:


156

Use un Matchbloque al final de /etc/ssh/sshd_config:

# Global settings
…
PasswordAuthentication no
…

# Settings that override the global settings for matching IP addresses only
Match address 192.0.2.0/24
    PasswordAuthentication yes

Luego dígale al servicio sshd que vuelva a cargar su configuración:

service ssh reload

1
Intenté esto (con 192.168.0.0/16 en su lugar) y cuando reinicié el servicio ssh me bloquearon. SSH rechazó cualquier conexión. ¿Alguna idea de por qué esto podría ser?
Michael Waterfall

2
@MichaelWaterfall Es imposible saberlo con tan poca información. Asegúrese de mantener un shell en ejecución hasta que haya validado la nueva configuración. Reiniciar el servicio ssh no afecta las conexiones activas.
Gilles

28
El problema probable es que colocas el bloque Match en algún lugar en el medio de tu sshd_config. Las líneas de coincidencia afectan a cada línea siguiente hasta la siguiente línea de coincidencia, por lo que deben estar al final del archivo.
Ken Simon

66
A pesar de la sangría en la respuesta, sshd_configno es Python;)
Nick T

1
@frepie El Matchbloque se extiende hasta la próxima Matchdirectiva o hasta el final del archivo. Por eso hay que ponerlo al final.
Gilles

8

puedes añadir:

AllowUsers user1@192.168.*.*, user2@192.168.*.*

Esto cambia el comportamiento predeterminado, realmente niega a todos los demás usuarios de todos los hosts. Match block disponible en OpenSsh versión 5.1 y superior.


Llamo Permitir un grupo en lugar de un solo usuario
Lamar

@Lamar From man sshd_config, parece que AllowGroupsfunciona igual que AllowUsers, pero AllowUsersparece tener prioridad sobre AllowGroups.
conradkdotcom
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.