🙌

ssh-agentを利用して、安全にSSH認証を行う

に公開1

Discussion

いわもと こういちいわもと こういち

必要な時に「はいっ」と秘密鍵を渡してくれる、ハイパーセキュリティボーイなのです。

これはあまりいい例えでは無いですね。「秘密鍵を渡してくれる」ではなくて「代わりに鍵を開けてくれる」の方がいいでしょう。
ssh-agentは秘密鍵を渡さないので、不正にssh-agentが利用されても秘密鍵自体は盗まれないというのが重要です。

.sshディレクトリに移動して、
ssh -A [鍵の名前]
と打ち込めばオッケーです。

.sshディレクトリに移動する必要は有りません。
またsshコマンドで鍵の名前を指定する必要も有りません。sshコマンドで指定するのは、ログインするホスト名ですね。

EC2にログインした際に、 -A というオプションを付けました。
これが「ssh-agentを用いてログインしますよ」と言った意味合いで、

ssh-agentを誤解されているように思います。
ssh-agentが使える状況ならば、sshコマンドは特にオプションを指定しなくてもssh-agentを使ってログインします。
-A オプションは、通常ローカルのsshコマンドからしか使えないssh-agentをリモートサーバ上でのsshコマンドからも使えるようにする“ssh-agent転送”を有効にする為の物です。

サーバー上の .ssh フォルダ配下のconfig内に
ForwardAgent yes(ssh-agentを有効にしますよ)
と言った設定をしてあげないといけません。

必要ありません。むしろセキュリティ的な面から見ると設定してはいけません。

ForwardAgent yesは-A オプションと同じくssh-agent転送を有効にする為の設定です。
リモートサーバからGitHubにSSH接続する場合、リモートサーバ上のsshコマンドがssh-agentを利用出来れば十分なので、GitHubまでssh-agentを転送する必要は有りません。
不必要にGitHubへssh-agentを転送する事は、GitHub上のユーザが不正にssh-agentを利用できるようにするだけなので、行うべきではありません。