Comment autoriser l'authentification de mot de passe SSH à partir de certaines adresses IP uniquement?


103

J'aimerais autoriser l'authentification par mot de passe SSH à partir d'un certain sous-réseau. Je vois la possibilité de l'interdire globalement dans /etc/ssh/sshd_config:

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

Existe-t-il un moyen d'appliquer cette configuration à une plage d'adresses IP sélectionnée?

Réponses:


156

Utilisez un Matchbloc à la fin 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

Ensuite, indiquez au service sshd de recharger sa configuration:

service ssh reload

1
J'ai essayé ceci (avec 192.168.0.0/16 à la place) et quand j'ai redémarré le service ssh, je me suis retrouvé verrouillé. SSH a refusé toute connexion. Une idée pourquoi cela pourrait être?
— Michael Waterfall

2
@ MichaelWaterfall Il est impossible de dire avec si peu d'informations. Assurez-vous de garder un shell en cours d'exécution jusqu'à ce que vous ayez validé la nouvelle configuration. Le redémarrage du service ssh n'affecte pas les connexions actives.
— Gilles

28
Le problème probable est que vous placez le bloc Match quelque part au milieu de votre sshd_config. Les lignes de correspondance affectent chaque ligne suivante jusqu'à la ligne de correspondance suivante. Elles doivent donc se trouver à la fin du fichier.
— Ken Simon

6
Malgré l'indentation dans la réponse, sshd_confign'est pas Python;)
— Nick T

1
@frepie Le Matchbloc s'étend jusqu'à la Matchdirective suivante ou jusqu'à la fin du fichier. C'est pourquoi vous devez le mettre à la fin.
— Gilles

8

vous pouvez ajouter:

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

cela change le comportement par défaut, refuse vraiment tous les autres utilisateurs de tous les hôtes. Bloc de correspondance disponible sur OpenSsh version 5.1 et ultérieure .


J'autorise un groupe d'utilisateurs au lieu d'un seul utilisateur
— Lamar

@Lamar De man sshd_config, il semble que AllowGroupsfonctionne de la même façon AllowUsers, mais AllowUserssemble avoir la priorité sur AllowGroups.
— Conradkdotcom
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.