「ssh user2@host2:user1@host1」はどのように機能しますか?

「ssh user2@host2:user1@host1」はどのように機能しますか?

継承された設定では、コマンドを使用してssh user2@host2:user1@host1user1@host1を介してuser2@host2に接続できますが、その動作を理解できません(このSSHの動作はどこに文書化されていますか?)

また、.ssh/configを設定してuser2@host2をsshに接続し、host1を介して直接移動できるようにしたいと思います。 ProxyCommandを使用して達成できると思いますが、次は失敗します。

ssh -o ProxyCommand='ssh -W %h:%p user1@host1' user2@host2
user1's password:
Received disconnect from REDACTED_IP: 11: Bye Bye
Disconnected from REDACTED_IP
ssh_exchange_identification: Connection closed by remote host

答え1

$HOME/.ssh/configたとえば、履歴を確認する必要がありますHost *:*。どのように動作するかを知りたい場合は、ここに良い記事があります。ウィキブックそれについて。使用しているコマンドラインでは=等号を削除する必要がありますProxyCommand

ssh -o "ProxyCommand ssh -W %h:%p user1@host1" user2@host2

答え2

さて、しばらく実験してみた結果(直接アクセスできない)ソフトウェアが実際にユーザー名host1で構成されているようです。user2@host2:user1

だからssh user2@host2:user1@host1動作します。

関連情報