ssh-agent に鍵を登録しても再起動(シェル再起動)時に消えてしまっている(使えない)ときの原因の一つ

結論

ssh-agent が以下のように複数起動していないでしょうか。

$ ps aux | grep ssh-agent
foobar  229998  0.0  0.0   7972  1080 ?        Ss   08:35   0:00 ssh-agent
foobar  230400  0.0  0.0   7972  3504 ?        Ss   08:36   0:00 ssh-agent
foobar  232466  0.0  0.0   7972  1080 ?        Ss   08:37   0:00 ssh-agent
foobar  233438  0.0  0.0   7972  4440 ?        Ss   08:39   0:00 ssh-agent
foobar  234495  0.0  0.0   7972  4524 ?        Ss   08:40   0:00 ssh-agent
foobar  235810  0.0  0.0   7972  4524 ?        Ss   08:41   0:00 ssh-agent
foobar  236866  0.0  0.0   7972  4460 ?        Ss   08:41   0:00 ssh-agent
foobar  239003  0.0  0.0   7972  4532 ?        Ss   08:48   0:00 ssh-agent
foobar  240367  0.0  0.0   7972  1084 ?        Ss   08:50   0:00 ssh-agent
foobar  240625  0.0  0.0   4796  2440 pts/0    S+   08:52   0:00 grep ssh-agent

シェルの設定ファイルの書き方によってはログインのたびに ssh-agent が起動してしまい、これが原因で正常に鍵を使うことができません。

(参考)ssh-agent を複数起動させない自動起動スクリプト

if [ -f ~/.ssh-agent ]; then
    . ~/.ssh-agent
fi
if [ -z "$SSH_AGENT_PID" ] || ! kill -0 $SSH_AGENT_PID; then
    ssh-agent > ~/.ssh-agent
    . ~/.ssh-agent
fi
ssh-add -l >& /dev/null || ssh-add

参考

h2plus.biz

Powered by はてなブログ