WikiTwist France

Connexion sans mot de passe par clef SSH

Quand on gère un (ou plusieurs) serveur distant, il peut être ennuyeux a la longue de devoir retaper son mot de passe lors de chaque connexion en SSH. Mais, il existe une solution : le déploiement de clefs SSH !

Pour ceci, il suffit de générer un jeux de clés (publique/privé) sur la machine de travail, puis de mettre en place la clé publique sur le serveur distant. C’est donc ce que nous allons voir de suite !

Ce tutoriel a été écrit pour Mac OS vers un serveur linux, à vous d’adapter à votre configuration.

0) Créez le dossier SSH et le fichier Authorized Keys sur la machine distante s’ils n’existent pas

mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

1) Générez votre clef publique sur la machine cliente ainsi :

ssh-keygen -t rsa

2) Vérifiez que votre serveur a bien un dossier .ssh (dans le dossier home de l’utilisateur de destination)

Si ça n’est pas le cas, créez le avec mkdir .ssh

3) Copiez votre clef publique locale sur la machine distante

scp ~/.ssh/id_rsa.pub remote.server.com:.ssh/authorized_keys

4) Enjoy .. vous pouvez vous connecter à votre serveur !

Info / conseil : sur mac os et linux, votre nom d’utilisateur ‘court’ sert comme login si vous ne spécifiez rien lors d’une connexion ssh à un serveur. Par exemple si vous allez vous connecter à toto.com et que vous tapez

ssh toto.com

, le système considère que vous faites un ssh yourusername@toto.com. Essayez donc d’utiliser le même nom d’utilisateur sur toutes vos machines pour vous simplifier la vie !

Niveau permissions il vous faudra peut être (à adapter selon vos dossiers) :
chmod o-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Quitter la version mobile