Comment configurer une connexion SSH sans mot de passe
Cet article vous montrera comment configurer une connexion SSH sans mots de passe sur un système d'exploitation Linux en utilisant l'authentification par clés.
SSH est utilisé pour se connecter à des serveurs afin d'exécuter des commandes et des programmes à distance. Cependant, il peut parfois être souhaitable, voire nécessaire, de se connecter automatiquement à un serveur SSH sans entrer votre nom d'utilisateur et votre mot de passe.
Les deux mécanismes les plus populaires pour se connecter à des systèmes distants via SSH sont l'authentification par mot de passe et l'authentification par clé.
La combinaison nom d'utilisateur et mot de passe est la méthode d'authentification la plus courante pour SSH et convient à la plupart des gens. Malheureusement, il existe certains risques de sécurité associés à l'utilisation de cette méthode.
D'autre part, si vous utilisez régulièrement SSH pour vous connecter à des serveurs distants, la méthode d'authentification par clé est la meilleure pour vous.
Donc, pouvez-vous vous connecter en SSH sans mot de passe ? En résumé, oui ! Voici comment faire.
Étape 1 : Générer une paire de clés SSH
Vous devez d'abord générer une paire de clés SSH sur la machine sur laquelle vous travaillez actuellement.
Si vous n'êtes pas sûr de la façon de le faire, je recommande de suivre notre guide court et facile à suivre : Générer une paire de clés SSH [avec des exemples].
Étape 2 : Copier la clé publique sur le serveur distant
Pour activer la connexion SSH sans mot de passe, vous devez transférer une copie de votre clé publique SSH sur le serveur distant. Par conséquent, vous devez connaître les identifiants de votre serveur distant et plusieurs autres détails, tels que le nom d'hôte/IP, le nom d'utilisateur, le mot de passe et le numéro de port.
Pour transférer la clé publique vers le serveur distant, nous utiliserons la commande ssh-copy-id qui est disponible dans la plupart des distributions Linux. La commande copiera le contenu de la clé publique .ssh/id_rsa.pub dans le fichier .ssh/authorized_keys du système distant.
ssh-copy-id user@remote-hostVous serez invité à entrer le mot de passe de l'utilisateur distant. Une fois l'utilisateur authentifié, la clé publique sera automatiquement copiée dans le fichier .ssh/authorized_keys sur le serveur distant.
Sur le serveur distant, vous pouvez vérifier le transfert de la clé publique en consultant le contenu du fichier .ssh/authorized_keys.
Pour en savoir plus sur la commande ssh-copy-id dans Linux, consultez sa page de manuel.
Étape 3 : Connexion SSH sans mot de passe
Maintenant, vous devriez être en mesure de vous connecter au serveur distant sans qu'on vous demande de mot de passe. Essayez simplement de vous connecter à votre serveur via SSH :
ssh username@remote_serverLe système devrait vous connecter directement au serveur distant ; aucun mot de passe n'est requis.
Conclusion
C'est tout ce dont vous avez besoin pour configurer une connexion SSH sans mots de passe. Ensuite, bien sûr, vous pouvez ajouter la même clé publique à plusieurs serveurs distants.
Enfin, il est important de noter que vous pouvez partager la clé publique (id_rsa.pub) avec quiconque mais ne partagez jamais votre clé privée (id_rsa). Seule la clé publique est copiée sur le serveur.
La clé privée ne devrait jamais être copiée sur une autre machine car quiconque possède la clé privée pourra se connecter à tout système ayant la clé publique correspondante.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un message.



