方法:デフォルト以外のポート22でJumphostを介してホストにsshを接続しますか?

方法:デフォルト以外のポート22でJumphostを介してホストにsshを接続しますか?

私のジャンプサーバーとエンドホストの両方がデフォルトではなく22ポートで実行されています。

~によるとhttps://wiki.gentoo.org/wiki/SSH_jump_host 私はssh -J user1@host1:port1 user2@host2 -p port2どちらかを試しましたssh -J user1@host1:port1 user2@host2:port2

ジャンプサーバーのパスワードを入力するように求められ、すべてエラーで失敗します。

channel 0: open failed: administratively prohibited: port forwarding is disabled
stdio forwarding failed
kex_exchange_identification: Connection closed by remote host
Connection closed by UNKNOWN port 65535

では、どのように機能させることができますか?

答え1

マニュアルページでは、このオプションの形式があるため正しく-J表示されます。-J [user@]host[:port]-J user1@host1:port1

-J [user@]host[:port]
まず、ジャンプホストへのSSH接続を確立し、そこから最終宛先へのTCP転送を確立して宛先ホストに接続します。複数のジャンプをコンマで区切って指定できます。これはProxyJump設定ディレクティブを指定するショートカットです。

ちなみに、エラー内容として見てみると、問題はポート仕様ではなく、中間-Jホストがポート転送を許可せず、ポート転送を要求しているようです。

これを変更することはできませんが、ジャンプホストを信頼している場合は、ジャンプホストへの接続を確立し、そこから別のSSHクライアントを実行して最終ターゲットホストへの接続を開くことができます。

ssh user1@host1:port1 'ssh user2@host2:port2'

(またはと一緒にssh -t

関連情報