Kézako :

Nous allons voir comment gérer les clés sous Linux pour éviter d'avoir à retaper sa passphrase à chaque connexion SSH.

Agent :

Il faut un agent pour gérer les clés privées en mémoire.

Lancement de l'agent :

1 $ ssh-agent $SHELL

note : l'option -l nb_secondes permet de limiter le temps d'une clé en mémoire.

Gestion des clés :

Ajout d'une clés par défaut :

1 $ ssh-add
2 Enter passphrase for /home/alasta/.ssh/id_rsa:
3 Identity added: /home/alasta/.ssh/id_rsa (/home/alasta/.ssh/id_rsa)

Ajout d'une clés spécifique :

1 $ ssh-add /home/alasta/.ssh/id_rsa_spec_key
2 Enter passphrase for /home/alasta/.ssh/id_rsa_spec_key:
3 Identity added: /home/alasta/.ssh/id_rsa_spec_key (/home/alasta/.ssh/id_rsa_spec_key)

note : vous pouvez maintenant vous connectez à votre serveur sans passphrase ni mot de passe.

Afficher le fingerprint des clés en mémoire :

1 $ ssh-add -l
2 2048 e1:5c:2e:49:aa:57:3c:63:fb:03:88:6f:aa:86:b5:b7 /home/alasta/.ssh/id_rsa (RSA)
3 2048 27:61:65:b7:04:e9:e2:bc:3c:7e:83:75:9f:73:20:6d /home/alasta/.ssh/id_rsa_spec_key (RSA)

Afficher la clé publique des clés en mémoire :

1 $ ssh-add -L
2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABCDEAAQDLn3V1JSdlo35iMOvlPHkZ2TD+JuwlKYlJbfMiXEejI6PwTDzBKlw32Eqa2X8mYg/NWU4UZ9SqkNNpmCZPP+vdS8mW4thqMtMb589adHJhfXyO+Aaa2TKqj++LU0M5yKDNq3eFNfXuAMmwfNXapwsxEfZliy/nWoGZFGyJoAFSjUdRIvqcggnC2+qKw+bu7NuN+rF31x/TQHHLCBH3aeF7FVW1rRX1LgRdibEkf4k9tkw0F7pNVtb2osZCGnL5ju52k+XdPHy79lswhQgIY/ztw8jI2ZcCUCMph1QRTHe7YZhF2wh7+Ctfxvca4PkgIAj+q1cmTV2OxMYZmp2+W765l /home/alasta/.ssh/id_rsa
3 ssh-rsa AAAAB3NzaC1yc2EAAAADADESZAABAQDPBa98PFNVekini3wOR7wTvHdKgKUjlkZ7HJU9Qq99u5zJRzSIn08pndzEUZNj8k41GjIj544rogNAzb/H7Hvzv2sNR4AoGfYOXHGuq8IavW6bcKczb0tIpQtdR30Ym8OFy/hz1L1XYZ5VpuAP8ASIRoqbB/9C0K7C4oWuNWBc973PLL+ISsLc7dq5MPqv69L8NwzCgDOdWrdZwoE6s5ojdf0UKK6wQO/inRSex2D/4IP+UEN4Ri9Xra/6qm4oJfKKiD5tyglqhQOT3lxJo/ss7QOFZYhVN4FLAydCCxQwcXJNPHylLbXWG1p0iDY9fnnNNBrVhmLY/ycMlQKxdZ85 /home/alasta/.ssh/id_rsa_spec_key

Suppression de la clé par défaut :

1 $ ssh-add -d
2 Identity removed: /home/alasta/.ssh/id_rsa (/home/alasta/.ssh/id_rsa.pub)

Suppression d'une clé spécifique :

1 $ ssh-add -d /home/alasta/.ssh/id_rsa_spec_key
2 Identity removed: /home/alasta/.ssh/id_rsa_spec_key (/home/alasta/.ssh/id_rsa_spec_key.pub)

Suppression de toutes les clés en mémoire :

1 $ ssh-add -D
2 All identities removed.

Arrêt de l'agent :

1 $ ssh-agent -k
2 unset SSH_AUTH_SOCK;
3 unset SSH_AGENT_PID;
4 echo Agent pid 1175 killed;