Comment configurer ssh de façon à ne pas avoir à entrer un mot de passe
Vous pouvez créer une clé d'authentification RSA pour pouvoir vous connecter à un autre site à partir de votre compte, sans avoir à taper votre mot de passe.
Notez qu'une fois que vous avez configuré cela, si un intrus s'introduit dans votre compte ou site, il aura aussi accès au site auquel vous avez vous-même accès sans mot de passe ! Pour cette raison, cela ne devrait jamais être fait sous le compte root.
- Lancez
ssh-keygen(1)
sur votre machine, et tapez simplement sur la touche entrée quand on vous demande un mot de passe.
Cela générera à la fois une clé publique et une clé privée. Avec les anciennes versions de SSH, elles seront stockées dans~/.ssh/identity
et~/.ssh/identity.pub
; avec les nouvelles, elles seront stockées dans~/.ssh/id_rsa
et~/.ssh/id_rsa.pub
. - Ensuite, ajoutez le contenu du fichier de la clé publique dans
~/.ssh/authorized_keys
sur le site distant (le mode du fichier devrait être 600).
Si vous êtes un développeur et si vous voulez avoir accès aux systèmes de debian.org avec une telle clé, il est possible de s'arranger pour que la base de données des développeurs propage votre clé à toutes les machines de debian.org. Voyez la documentation sur la passerelle LDAP.
Vous devriez ensuite pouvoir utiliser ssh pour vous connecter sur le site distant sans qu'un mot de passe vous soit demandé.
Important : Notez que quiconque ayant accès en
lecture au fichier contenant la clé privée peut l'utiliser pour avoir le
même accès sans mot de passe au site distant. Cela inclut toute personne
qui a accès en tant que superutilisateur à votre machine locale. C'est pourquoi
il est fortement recommandé que vous utilisiez une phrase secrète pour votre clé
privée si vous n'êtes pas le seul superutilisateur sur votre machine.
Vous pouvez utiliser ssh-agent(1)
et ssh-add(1)
pour taper votre phrase secrète seulement une fois pour toutes les
utilisations d'une clé spécifique lors d'une session. Vous pouvez
automatiquement charger toutes vos clés dans l'agent en ajoutant les
lignes suivantes dans votre fichier ~/.xsession
:
# si use-ssh-agent est spécifié dans /etc/X11/Xsession.options # (c'est l'option par défaut) alors vous n'avez besoin que de # la deuxième ligne # eval ssh-agent ssh-add <fichier-clés-ssh>
Le paquet ssh-askpass
doit être installé afin de lancer
ssh-add
sans terminal.