Code

【SSH】ssh-agentで秘密鍵を管理する

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接続ができています。

-Code

© 2024 トンボのようにまっすぐ進んでいたい Powered by AFFINGER5