
ssh-agent-forwarding の設定に苦労しています。
私がやりたいこと: 公開鍵を Ubuntu サーバー上に置き、秘密鍵を Windows マシン上にローカルに置きたい。秘密鍵のパスワードは pagent に保存されているので、それを入力せずに Ubuntu サーバーに接続したい。この部分は問題なく動作します。ただし、次の部分は動作しません。
ubuntu サーバーに接続した後、pagent の Windows マシンにあるキーのみを使用して、他のサーバーに git/ssh で接続したいと考えています。
これまでに行ったこと: Pagent がインストールされた Windows クライアントがあります。キーは Windows マシンに設定されています。ubuntu サーバーに接続し、設定した秘密キーで認証できます。また、PuTTY で「エージェント転送を許可する」を有効にしました。
私の ssh_config は次のようになります:
Host *
ForwardAgent yes
問題の内容: サーバーに接続して「ssh-add -l」と入力すると、サーバーから「エージェントに ID がありません」というメッセージが表示されます。
何を忘れてしまったのでしょうか?
答え1
まず、サーバーがエージェント転送 ( AllowAgentForwarding
in sshd_config
) を許可しているかどうかを確認し、許可していない場合は許可して sshd サービスを再起動します。次に、PuTTY で実際に有効になっていることを再確認します。両方とも問題ない場合は、PuTTY のデバッグ ログを調べます。転送に失敗した場合は、その理由を示す何らかの情報があるはずです。
答え2
問題が見つかりました。
私は
eval $(ssh-agent)
私の .bashrc に。
その行を削除した後、転送が機能し始めました。