sshの認証を使い回す
恥ずかしい話だが、ssh-agentというものがあるということを最近知った。
sshで毎回ログインパスワードを入力しなくてはならないのは億劫である。
例えば、自分のローカルサーバーからgithubへのssh権限はあるだろう。普通。
$ ssh -T git@github.com # => Hi username! You've successfully authenticated, but GitHub does not provide shell access.
しかし、例えば開発用のサーバーにちょっと入ってリモートブランチをPullしたいなー、というときに、ログインしたユーザーではpullできない場合がある。
そんなときに活躍するのがssh-agent! らしい。
だが実際にはssh-agentコマンドを打つわけではない。次のようにする。
$ ssh -A ホスト名
こうすることでssh-agentに入っている認証がsshログインをした先でも使い回される。
ただ、一つ小さなハマりポイントがここにもあって、~/.ssh/ssh_config内の情報が使い回されるわけではどうやらないらしい。ここで使用する秘密鍵を指定しているだけでは使い回せなかった。
どうすればいいかというと、あらかじめ次のコマンドを実行しておく。
$ ssh-add 鍵