Restriction SSHd par utilisateur


9

J'ai besoin de restreindre certains utilisateurs afin qu'ils puissent uniquement SSH en utilisant les clés ssh et que les autres utilisateurs puissent se connecter en utilisant une clé ou un mot de passe.

un exemple:

J'aimerais que l'utilisateur root puisse se connecter à distance (via sshd) en utilisant la clé, donc aucun mot de passe ne sera accepté (même si le mot de passe est correct)

et pour les autres utilisateurs (tout le monde sur le système), ils peuvent se connecter en utilisant la clé et / ou le mot de passe

comment pourrais-je faire ça?

Réponses:


0

Ce que je ferais, c'est de définir de /etc/sshd/sshd_configtelle sorte que:

PermitRootLogin without-password

juste pour plus de sécurité et pour éviter de verrouiller le mot de passe root (cela ne permettrait à root de se connecter qu'avec une clé)

J'utiliserais plutôt au AllowGroupslieu de AllowUser, car pour moi, il serait plus pratique d'ajouter des utilisateurs à un groupe plutôt qu'à, sshd_configmais cela pourrait dépendre de vos préférences personnelles.


13

Je pense que ce que vous voulez, c'est "Match User". Vous l'utilisez pour faire correspondre un nom d'utilisateur, puis indenter une série de paramètres de configuration qui s'appliquent spécifiquement à cet utilisateur.

Match User Joe
  PasswordAuthentication no

Match User Jane
  PasswordAuthentication yes

Je l'utilise pour configurer parfois un accès chroot SFTP uniquement pour les clients.


Notez que tous les paramètres ne peuvent pas être écrits dans le Matchbloc. Voir man 5 sshd_configpour le détail.
ynn

2

Configurez ssh comme suit:

nano /etc/ssh/sshd_config

AllowUsers username1 username2 username3

Redémarrez SSH

Fournissez ensuite les clés à ceux que vous souhaitez éviter d'utiliser des mots de passe.

ssh-keygen est utilisé pour générer cette paire de clés pour vous. Voici une session où votre propre paire de clés privée / publique personnelle est créée:

#ssh-keygen -t rsa

La commande ssh-keygen -t rsa a lancé la création de la paire de clés.

Je n'ai pas entré de phrase secrète pour ma configuration (la touche Entrée a été enfoncée à la place).

La clé privée a été enregistrée dans .ssh / id_rsa. Ce fichier est en lecture seule et uniquement pour vous. Personne d'autre ne doit voir le contenu de ce fichier, car il est utilisé pour déchiffrer toute la correspondance chiffrée avec la clé publique.

La clé publique est enregistrée dans .ssh / id_rsa.pub.

Son contenu est ensuite copié dans le fichier .ssh / authorized_keys du système vers lequel vous souhaitez vous connecter sans être invité à entrer un mot de passe.

#scp id_rsa.pub remote system:~/.ssh/authorized_keys

Enfin, verrouillez le compte (l'authentification par clé sera toujours possible.)

# passwd -l username1

ce n'est pas ce que je recherche. disons que je veux que root soit connecté avec des clés uniquement et que les autres utilisateurs puissent être connectés avec une clé ou un mot de passe
alexus

alors ne verrouillez pas le compte avec passwd -l username1
Patrick R
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.