44 votes

Comment permettre ssh uniquement à l'utilisateur root à partir du réseau local ?

J'ai installé Google-Authenticator sur une machine CentOS 6.5 et configuré certains utilisateurs pour fournir un OTP.

En éditant /etc/ssh/sshd_config, j'ai vu une directive "PermitRootLogin" qui est commentée par défaut.

J'aimerais définir "PermitRootLogin no" mais pouvoir quand même me connecter en ssh à la machine en tant que root uniquement depuis le réseau local.

Est-ce possible ?

65voto

Sven Points 95985

Utilisez le paramètre de configuration Match dans le fichier /etc/ssh/sshd_config :

# configuration générale
PermitRootLogin no

# ce qui suit remplace la configuration générale lorsque les conditions sont remplies.
Match Address 192.168.0.*
    PermitRootLogin yes

Voir man sshd_config

15voto

Lekensteyn Points 5981

La méthode Match address a déjà été mentionnée, mais vous pouvez également restreindre les utilisateurs (ou groupes) autorisés à se connecter à un système. Par exemple, pour limiter les connexions à l'utilisateur itai (de n'importe où) et à root (de un réseau spécifique), utilisez :

AllowUsers itai root@192.168.0.*

Cela empêche tous les autres utilisateurs (comme apache) de se connecter via SSH.

Voir aussi le mot-clé AllowUsers dans le manuel sshd_config(5).

1voto

xordspar0 Points 11

Une stratégie différente pourrait être de laisser PermitRootLogin réglé sur no pour toutes les adresses, mais autoriser un autre utilisateur à se connecter et utiliser sudo. Un avantage de cette approche est que vous pouvez limiter les privilèges de cet utilisateur avec la configuration sudo. Cela ajoute une couche de protection supplémentaire, en plus de limiter les adresses IP à partir desquelles l'utilisateur admin peut se connecter.

Dans /etc/ssh/sshd_config, désactivez les connexions root:

PermitRootLogin no

Créez un utilisateur différent appelé, par exemple, admin. Configurez les adresses IP autorisées dans le fichier authorized_keys de cet utilisateur, /home/admin/.ssh/authorized_keys:

from="192.168.0.0/24,fe80::%eth0/64" 

Dans cet exemple, j'ai également autorisé le trafic provenant des adresses IPv6 locales. Cela est utile si vous utilisez mDNS qui peut résoudre vers une adresse IPv6 ou si vous avez besoin d'accéder au serveur même lorsque le routage est défaillant. Notez que la partie eth0 de l'adresse va changer en fonction du nom de l'interface sur votre serveur. Utilisez ifconfig ou ip link pour lister les périphériques réseau valides pour votre serveur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X