ssh-agentで秘密鍵を自動起動・登録すると超便利
役に立つ人
あ、ちなみにZshなんでシェルが違う人は設定ファイル名は適宜読み替えてください
話すこと
ssh-agentって何?
ssh-agentの小ネタ
ssh-agentに秘密鍵を自動登録
ssh-agentって何?
ssh接続した際にssh接続元の秘密鍵を使うことができるコマンド
sshコマンドの仕様として踏み台サーバーから別サーバーにssh接続するときは接続元のローカルに置いてある秘密鍵は使えない
っていう不便利を解消してくれる
# 起動 ssh-agent bash # 秘密鍵登録 ssh-add [private-key path] # ssh接続時にオプションが必要 ssh [-A] [host]
ssh-agentの小ネタ
ssh-agentは複数立ち上げることができるのでそれの確認用
ps -ef | grep ssh-agent
ssh-agent -l
ssh-agentに秘密鍵を自動登録
sshコマンドを実行するときに-Aオプションをつけた場合と同じ設定にする
~/.ssh/config
ForwardAgent yes
シェル立ち上げ時にssh-agentを立ち上げて秘密鍵を登録
ssh-addの方は自分の秘密鍵のパスを書いてください
~/.zshrc
eval `ssh-agent` > /dev/null 2>&1 eval `ssh-add [private-key path] > /dev/null 2>&1`
ssh-agentは毎回killしてあげないと無限にプロセスが発生する
シェルのログアウト時にkillする
~/.zlogout
eval `ssh-agent -k`
おすすめ書籍
sshってssh-agent以外にも便利機能がたくさんあって(ポートフォワーディング・トンネリングとか) その辺りの便利機能を漏れなくまとめてくれている書籍 OpenSSH自体の話とかもあるからインフラじゃないエンジニアが最初から読み通すとなると辛すぎるけども、 読み物的にパラパラ見る用として手元に置いておくべき一冊