ssh-agentを自動起動する
systemd で起動する方法
ユニットファイルの置き場を作成
$ mkdir -p ~/.config/systemd/user
ユニットファイルを ~/.config/systemd/user/ssh-agent.service で作成
code: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
%t は $XDG_RUNTIME_DIR と同じ値になる。
ユニットファイルの更新を通知
$ systemctl --user daemon-reload
ssh-agent サービスを有効化
$ systemctl --user enable --now ssh-agent
ログインスクリプトに以下を追加
code:.bash_profile
export SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"
鍵の登録
$ ssh-add
参考
ssh-agentをsystemdで起動する https://abelog.tech/archives/120
.bash_profile で起動する方法(伝統的)
シンプルな定義
code:bash
if -z "$SSH_AUTH_SOCK" -a -x /usr/bin/ssh-agent
then
eval /usr/bin/ssh-agent
fi