From 370270b1cacef225567372b3fa8a7083a49b7386 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Tue, 18 Oct 2022 00:32:47 +0200 Subject: [PATCH] ssh-agent: on start, import all SSH keys --- bin/ssh-add | 10 ++++++++++ dotfiles/systemd/ssh-agent.service | 5 +++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100755 bin/ssh-add diff --git a/bin/ssh-add b/bin/ssh-add new file mode 100755 index 0000000..a0c7d0e --- /dev/null +++ b/bin/ssh-add @@ -0,0 +1,10 @@ +#!/bin/sh + +export SSH_ASKPASS=/usr/bin/ssh-askpass +ssh-add -l > /dev/null || ssh-add $( + sed -n 's/^ *IdentityFile ~\/\([^ ]*\).*/\1/p' ~/.ssh/config ~/.ssh/*/config \ + | sort \ + | uniq + ) + +ssh-add -l diff --git a/dotfiles/systemd/ssh-agent.service b/dotfiles/systemd/ssh-agent.service index c74ba53..188473a 100644 --- a/dotfiles/systemd/ssh-agent.service +++ b/dotfiles/systemd/ssh-agent.service @@ -4,9 +4,10 @@ Wants=dbus.socket After=dbus.socket [Service] -Type=simple +Type=forking Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket ExecStartPre=/usr/bin/dbus-update-activation-environment --systemd SSH_AUTH_SOCK -ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK +ExecStart=/usr/bin/ssh-agent -a $SSH_AUTH_SOCK +ExecStartPost=%h/.config/i3/bin/ssh-add ExecStopPost=/usr/bin/dbus-update-activation-environment --systemd SSH_AUTH_SOCK= Restart=always