Connexion SSH sans mot de passe sous linux

Etienne P., le Wed Aug 19 2015 14:14:56 GMT+0200 (Central European Summer Time)

Il s'agit du même principe ici, nous avons besoin de générer une clé publique.

Vérifions dans un premier temps si vous en avez une sur votre machine locale :

# ls -al ~/.ssh

Si vous obtenez quelque chose comme cela :

id_dsa

id_dsa.pub

id_rsa

id_rsa.pub

Alors vous pouvez utiliser une paire de clés sinon il vous faut en générer de nouveau.

Création d'une paire de clé publique et privée pour une connexion SSH à distance

# ssh-keygen -t rsa

On vous demande alors un mot de passe si vous le désirez. Ensuite par défaut la paire de clés est générée dans ~/.ssh/id_rsa et id_rsa.pub pour la clé publique.

Il est recommandé de renseigner un mot de passe pour protéger votre clé.

Copiez la clé publique sur votre compte sur le serveur distant dans : ~/id_rsa.pub

Si vous n'avez pas de dossier ~/.ssh créez le

Et si vous n'avez pas de fichier authorized_keys alors créez le aussi :

# touch ~/.ssh/authorized_keys

Et ajoutez le contenu de votre clé publique à l'intérieur du fichier :

# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

Supprimez alors le fichier id_rsa.pub de votre machine locale pour pouvoir vous connecter. Placez aussi cette clé publique dans ~/.ssh/ sur votre serveur.

Une dernière chose pour vous connecter sans soucis, il vous faut démarrer un agent et lui communiquer les mots de passe pour accéder aux clés :

# eval $(ssh-agent -s)

# ssh-add

Vous serez invité à entrer vos mots de passe pour accéder aux différentes clés générées.

Vous êtes à présent prêt à vous connecter au serveur sans avoir à entrer de mot de passe de cette façon :

# ssh username@yourserveraddress

On ne peut plus simple, n'est ce pas ?

Alors pourquoi s'embéter avec Windows et putty !

Une fois terminé, vous pouvez stopper l'agent :

# ssh-agent -k

Cas clé existante :

La commande suivante permet de déplacer automatiquement la clé publique sur le serveur, au préalable, cette clé doit se trouver localement dans le répertoire .ssh de votre répertoire home :

$ ssh-copy-id user@votreserveur -p 22

Remplacez user par le nom d'utilisateur serveur et 22 par le port utilisé.

Autres informations :

Afin de déplacer un fichier via scp :

# scp -P 22 id_rsa.pub administrator@seveur:id_rsa.pub

0 commentaire(s)

Laissez un petit mot

Votre adresse email ne sera pas publiée ni utilisée à des fins commerciales.