ssh et mot de passe
Lorsqu’on travaille souvent sur des serveurs distants il est à la longue assez fatiguant de devoir saisir à tout bout de champs ses mots de passe.
Une solution simple et sécurisés est l’utilisation des clefs.
Etape 1
Pour commencer sur son poste client, il est necessaire de creer une clef :
user@localhost# ssh-keygen
Cela aura pour résultat de génerer une clef publique et une clef privée, lorsque le passphrass est demandé, vous pouvez ignorer. Cela sera moins sécurisé mais limite le nombre de manipulations.
A cet instant nous avons dans notre repertoire /.ssh 2 fichiers :
- l’un avec notre clef publique
~/.ssh/id_rsa.pub
- l’autre notre clef privée
~/.ssh/id_rsa
Etape 2
Autoriser le serveur, maintenant que nous avons défini une clef personnelle, nous allons informer le serveur et lui donner le droit d’autoriser la connexion.
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
Il suffit de remplacer user
et server
par les bonnes informations.
Si vous n’avez jamais lancé de connexion ssh sur le serveur, ssh-copy
vous demandera de confirmer votre connection au serveur.
Une fois l’accord donné, ssh-copy
va tenter de se connecter au serveur et vous demandera le mot de passe propre à l’user du server.
Apres validation du bon mot de passe, ssh-copy
fera le necessaire.
Etape 3
Enfin il est maintenant possible de se connecter sur le serveur distant directement via ssh sans donner de mot de passe.
ssh user@server
Variante :
Si vous voulez augmenter la sécurité de votre clef, vous pouvez donner un passphrass (phrase secrecte). Des cet instant pour utiliser votre clef, il vous sera demandé à chaque fois votre phrase secrete.
Pour éviter de retomber sur le travers initial qui était de se dispenser de saisir un mot de passe à chaque connexion, vous devrez utiliser ssh-agent qui s’occupera de gérer cet aspect.
Ressources utiles :
– http://www.tuteurs.ens.fr/internet/loin/ssh.html
– http://www.debian-administration.org/articles/152