Comment se connecter à SSH sans mot de passe
Posted onIl est possible que vous ayez un jour le besoin de vous connecter sans mot de passe à un ordinateur distant. Par exemple, vous pourriez avoir besoin d’exécuter une tâche cron qui copie des fichiers entre deux machines. Pour se faire, vous devez configurez une connexion SSH sans mot de passe à l’aide de clés publiques.
Dans le scénario suivant, nous auront deux machines: machinelocale et machinedistante. La machine distante est celle à laquelle on veut se connecter sans mot de passe.
Générer la clé RSA
Dans le terminal de machinelocale, entrez ssh-keygen -t rsa
.
On vous demandera où placer votre clé et d’entrer une passphrase. Laissez ces champs vides.
Copier la clé RSA
Vous devez maintenant copier la clé RSA. Utilisez la commande suivante sur machinelocale en remplaçant les informations ci-dessous par l’adresse externe et le nom d’utilisateur de votre machine distante:
ssh-copy-id -i ~/.ssh/id_rsa.pub <strong>utilisateurdistant</strong>@<strong>machinedistante</strong>
Vous devrez entrer le mot de passe de votre machine distante, et les clés seront ensuite copiées.
Tester la connexion
Vous pouvez maintentant tester la connexion à l’aide de cette commande sur machinelocale (n’oubliez pas de changer les noms pour la connexion):
ssh utilisateurdistant@machinedistante
Vous devriez être connecté à machinedistante sans avoir à rentrer votre mot de passe. Vous pourrez donc utiliser des commandes comme scp
sans mot de passe.
Ça ne fonctionne pas! À l’aide!
Si on vous demande toujours un mot de passe à la connexion, ne paniquez pas. Suivez les étapes suivantes pour trouver votre problème:
- Vérifiez votre journal d’erreurs d’authentification. Entrez la commande suivante:
tail /var/log/auth.log
sur machinedistante. Recherchez un message du genre Authentication refused: bad ownership or modes for directory /undossier. Si vous en avez un, c’est que vous devez corriger les permissions de ce dossier (essayezchmod 755 <strong>undossier</strong>
). Votre dossier d’utilisateur et votre dossier .ssh ne doivent pas être avoir de permissions d’écriture pour les autres utilisateurs. - Vérifiez que l’authentification RSA soit activée sur machinedistante. Entrez
cat /etc/ssh/sshd_config | grep Authentication
sur machinedistante, et recherchez RSAAuthentication yes dans ce qui est retourné. S’il est à no, vous devrez le changer, enregistrer et redémarrer SSH. - Assurez-vous que la clé aie bien été ajoutée au fichier .ssh/authorized_keys dans votre dossier utilisateur.
- Laissez un commentaire dans l’espoir que je sois passé par là!