多段sshする際の秘密鍵配置やパスワード入力をなくす
ssh-agentを使って、サーバ間を楽々移動する
ssh-agentとは
公開鍵認証方式による認証を行っているSSHサーバへ接続する際、秘密鍵に設定されているパスフレーズの入力を代わりにやってくれるアプリケーション
server-memo.netより
サーバをあちこち移動するとき、毎回秘密鍵を配置してパスワード入力して…とするのは面倒なんで、ssh-agentを適切に利用してローカルへの鍵配置&一回のパスワード入力で済ませる方法を紹介します。
です。
※Macでの動作です。ssh-agentの起動が必要なものもあるので、ご確認ください。
ssh-agentの使い方 - Qiitaがまとまっています。
秘密鍵を登録する
まずは
$ ssh-add -l
を打って秘密鍵の登録状況を確認します。
The agent has no identities.
の場合は、秘密鍵が登録されていないので
$ ssh-add ~/.ssd/id_rsa
で登録します。
agent forwardingする
agent forwardingとは、多段sshするとき認証情報を転送する機能です。
例えば、ローカルから踏み台サーバにsshして踏み台から本番サーバにsshするとき、ローカルに鍵を置いてパスワードを入力すれば、踏み台や本番には鍵もパスワードも必要なくなります。
agent forwardingは-A
オプション
$ ssh -A <domain>
でOKですが、~/.ssh/configにForwardAgent yes
を記載しとくと、毎回オプションを付けなくてよくなるのでおすすめです。
Host * ForwardAgent yes