ssh-agentとは
ssh-agentは、公開鍵認証方式のssh接続に必要な秘密鍵やパスフレーズなどの機密情報を管理してくれるツールです。
秘密鍵とパスフレーズはメモリ上にキャッシュとして管理します。
Linux系やmacOSの場合はデフォルトでインストールされているので、何も設定せずに使うことができます。
ssh-agentの使い方
起動
ssh-agentを起動します。
eval `ssh-agent`
このコマンドでssh-agent実行すると、その都度別のシェルが立ち上がります。
そのため、コマンドを連打していると気付かぬうちにシェルが乱立してリソースを圧迫することにもつながってしまいます。
.bash_logoutにssh-agent停止コマンドを記載しておくと、ログアウト時に自動的に停止してくれるので、設定しておくとよいでしょう。
/usr/bin/ssh-agent -k
ssh-agentのパスは、which ssh-agent
で調べたものを設定してください。
秘密鍵の追加・確認
ssh-agentに秘密鍵を追加します。
パスフレーズを設定している場合は、登録時に一度だけ聞かれるので入力しましょう。
ssh-add ~/.ssh/id_rsa
# 秘密鍵のパスを渡す
Enter passphrase for Users/[ユーザ名]/.ssh/id_rsa: 🔑
追加された秘密鍵を確認します。
ssh-add -l
2048 SHA256:[秘密鍵のハッシュ値] /Users/[ユーザ名]/.ssh/id_rsa (RSA)
このように、追加した秘密鍵が表示されたらOKです。
SSH接続確認
リモートサーバにSSH接続します。
ssh -l [ユーザ名] [ホスト名]
秘密鍵のパスを-iオプションで渡さなくてもSSH接続ができています。