Depuis quelques mois, je tourne sur une Debian testing minimale avec Sway comme expliquer sur l’article dédié.
Le problème, c’est que ssh
demandait à chaque fois la passphrase.
Voici donc un tout petit tutoriel (mais aussi un rappel à moi-même) pour lancer ssh-agent
automatiquement au démarrage de la session.
L’objectif, c’est de créer un service systemd
en tant qu’utilisateur·rice et de le démarrer automatiquement. Rien de plus simple, mais il faut quand même savoir que ssh-agent doit démarrer automatiquement au démarrage de ta session sinon la session sera le terminal. Merci à DevNull pour l’explication. 😁
Premièrement, on va créer le service:
1
2
3
4
5
6
7
8
9
10
11
12
13
$ mkdir -p ~/.config/systemd/user
$ cat << EOF > ~/.config/systemd/user/ssh-agent.service
[Unit]
Description=SSH key agent
[Service]
Type=forking
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -a $SSH_AUTH_SOCK
[Install]
WantedBy=default.target
EOF
Ensuite, on exporte la variable dans .bash_profile
(ou autre selon ton interpréteur, pour ma part c’est .zprofile
):
1
2
$ echo export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" >> .bash_profile
$ source .bash_profile
Pour finir, on démarre de service:
1
systemctl --user start ssh-agent.service
Et on le démarre automatiquement à l’ouverture de la session:
1
systemctl --user enable ssh-agent.service
Et enfin, la dernière étape; configurer le client SSH pour utiliser la clé et s’en rappeler. 🙂
On ouvre alors ~/.ssh/config
et on insert ceci:
1
2
3
Host *
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
Si tu veux plus d’information sur le fichier config
de SSH, je t’invite à lire ceci, complet et facile à comprendre. C’est en anglais mais tu peux aussi trouver des ressources francophones.
Et voilà. C’est tout.
C’est rapide, mais je remercie mes adelphes de m’avoir supportée pendant mes instants de rage parce que je n’arrivais à rien. 😅