Authentification automatique par SSH sans mot de passe
Voici comment ça fonctionne
Imaginons un poste client et un poste serveur, nous tentons évidement d’etablir une connexion ssh du client vers le serveur.
Habituelement, nous tapons la commande : ssh user@machine , puis l’on entrait le mot de passe.
Pour éviter cela, nous allons faire 2 choses :
1. Créer un jeu de clés (clé publique et clé privée) sur le client
2. Copier la clé publique du client sur le serveur.
Voici comment procéder
Générer le jeu de clé/certificat sur le client
ssh-keygen -t dsa
On vous demandera où placer ce jeu, répondez par default.
On vous demandera une passphrase pour crypter votre certificat, vous pouvez ne rien mettre si vous estimez que vous seul pouvez acceder à votre compte local du client.
Copiez la clé publique sur le serveur
ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine
Cette commande ne fait qu’ajouter votre clé publique dans un fichier sur le serveur. Voici une commande équivalente :
cat ~/.ssh/id_dsa.pub | ssh user@machine « cat – >> ~/.ssh/authorized_keys »
Voila, vous pouvez desormais vous identifier sur le serveur sans mot de passe.