Je veux ajouter un utilisateur à Red Hat Linux qui n'utilisera pas de mot de passe pour se connecter, mais utilisera à la place une clé publique pour ssh. Ce serait sur la ligne de commande.
Commencez par créer un utilisateur:
useradd -m -d /home/username -s /bin/bash username
Créez une paire de clés à partir du client que vous utiliserez pour ssh
à partir de:
ssh-keygen -t dsa
Copiez la clé publique /home/username/.ssh/id_dsa.pub
sur l'hôte RedHat dans /home/username/.ssh/authorized_keys
Définissez les autorisations correctes sur les fichiers sur l'hôte RedHat:
chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys
Assurez-vous que l'authentification par clé publique est activée sur l'hôte RedHat:
grep PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes
Sinon, changez cette directive en oui et redémarrez le service sshd
sur l'hôte RedHat.
Depuis le client, démarrez une connexion ssh
:
ssh username@redhathost
Il devrait rechercher automatiquement la clé id_dsa
dans ~/.ssh/
. Vous pouvez également spécifier un fichier d'identité en utilisant:
ssh -i ~/.ssh/id_dsa username@redhathost
Sur Ubuntu, vous pouvez ajouter l'utilisateur avec:
adduser --disabled-password <username>
Créez ensuite .ssh/authorized_keys
fichier dans leur répertoire personnel avec leur clé publique.
Vous pouvez utiliser:
usermod --lock <username>
Depuis la page de manuel:
Verrouillez le mot de passe d'un utilisateur. Cela met un "!" en face du mot de passe crypté, désactivant efficacement le mot de passe. Vous ne pouvez pas utiliser cette option avec -p ou -U. Remarque: si vous souhaitez verrouiller le compte (non seulement l'accès avec un mot de passe), vous devez également définir la EXPIRE_DATE sur 1.