サーバーが2つあります。サーバーAを介してのみサーバーBに接続できます。私の~/.ssh/config
ファイルから:
Host serverB
Hostname serverb
User root
ForwardAgent yes
Port 22
ProxyCommand ssh user@serverA nc %h %p
serverAにログインして入力するとssh root@serverB
パスワードを要求せずに接続されますが、ssh ServerB
ローカルコンピュータに入力するとServerBのパスワードを求めます。なぜ?
ベストアンサー1
ProxyCommand
パイプを介して外部を接続するためのトンネルのみが提供されていますssh
。
ssh serverB
これにより、以前のアカウントserverA
のキーを使用できるようになりますserverA
。
クライアントシステムでこれを実行したときにssh serverB
開始したコマンドを介して接続するという事実は、魔法のようにserverAのキーへのアクセスを提供しません。nc
serverA
クライアントエージェントにserverAのキーを追加する必要があります。
たとえば、
ssh-add <(ssh serverA 'cat .ssh/id_rsa')
serverAにキーを追加します.ssh/id_rsa
(上記のksh93 / bash / zsh構文)。