Arch Linux では、以下は非常にうまく機能します (すべての systemd ベースのディストリビューションで機能するはずです):
以下を に追加して、systemd ユーザー サービスを作成します~/.config/systemd/user/ssh-agent.service
。
[Unit]
Description=SSH key agent
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Install]
WantedBy=default.target
ソケットの環境変数を持つようにシェルをセットアップします ( .bash_profile, .zshrc, ...
):
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
ログイン時にサービスが自動的に開始されるように、サービスを有効にして開始します。
systemctl --user enable ssh-agent
systemctl --user start ssh-agent
次の構成設定をローカルの ssh 構成ファイルに追加します~/.ssh/config
(これは SSH 7.2 以降で機能します)。
AddKeysToAgent yes
これにより、実行中のエージェントにキーを常に追加するように ssh クライアントに指示されるため、事前に ssh で追加する必要はありません。