ブリッジサーバー経由でサーバーにトンネル接続しようとしています。これまでのところ、次のコマンドを使用してコマンドシェルから適切に機能させることができました。
ssh -A -t [email protected] ssh -A [email protected]
しかし、これを~/.ssh/config
ファイルにラップしようとしていて、問題があります。私はもう試した:
Host axp
User remote_userid
HostName remoteserver.com
IdentityFile ~/.ssh/id_rsa.eric
ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h
しかし、そうすると、remoteserver.com
から次のエラーメッセージが表示され、何が原因なのかわかりません。
ksh:SSH-2.0-OpenSSH_6.8 ^ M:見つかりません
私がremoteserver.com
にログインすると、私のシェルは/usr/bin/ksh
になります。
設定ファイルのsshコマンドにパス引数を追加しようとしましたが、違いはありませんでした。
それが何であるかについてのアイデアはありますか?
Jakujeの答え は正しいですが、OpenSSH 7.3
により、-J
ProxyJump
を使用できるようになりました。 。私のメモを参照してください:
7.3
以上ProxyJump
を使用します。マニュアルで説明されているように:
-J [user @] Host [:port]
最初にジャンプホストにssh接続を確立し、次にTCPそこから最終的な宛先に転送することにより、ターゲットホストに接続します。複数のジャンプホップは、コンマ文字これは、ProxyJump構成ディレクティブを指定するショートカットです。
~/.ssh/config
の例~/.ssh/config
Host server1
Hostname server1.example.com
IdentityFile ~/.ssh/id_rsa
Host server2_behind_server1
Hostname server2.example.com
IdentityFile ~/.ssh/id_rsa
ProxyJump server1
とつながる
ssh server2_behind_server1 -v
詳細な出力には-v
を追加します
-J
コマンドラインの例~/.ssh/config
Host server1
Hostname server1.example.com
IdentityFile ~/.ssh/id_rsa
Host server2
Hostname server2.example.com
IdentityFile ~/.ssh/id_rsa
とつながる
ssh server2 -J server1 -v
または-o
を使用します
ssh server2 -o 'ProxyJump server1' -v
5.4
以上ProxyCommand
を-W
とともに使用します
~/.ssh/config
Host server1
Hostname server1.example.com
IdentityFile ~/.ssh/id_rsa
Host server2
Hostname server2.example.com
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh server1 -W %h:%p
とつながる
ssh server2 -v
または-o
を使用します
ssh server2 -o 'ProxyCommand ssh server1 -W %h:%p' -v
5.4
~/.ssh/config
Host server1
Hostname server1.example.com
IdentityFile ~/.ssh/id_rsa
Host server2
Hostname server2.example.com
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh server1 nc %h %p 2> /dev/null
とつながる:
ssh server2 -v
または-o
を使用します
ssh server2 -o 'ProxyCommand ssh server1 nc %h %p 2> /dev/null' -v
-J
が追加されました OpenSSH 7.3
- ssh(1):ProxyJumpオプションと対応する-Jコマンドラインフラグを追加して、1つ以上のSSH要塞または「ジャンプホスト」を介した簡略化された間接化を可能にします。
-W
が OpenSSH 5.4 に追加されました
- Ssh(1)に「netcatモード」を追加:「ssh -W Host:port ...」これにより、クライアント上のstdioがサーバー上の単一のポート転送に接続されます。これにより、たとえば、sshをProxyCommandとして使用して、中間サーバー経由で接続をルーティングできます。 bz#1618
ブリッジにnetcat
は必要ありません。 DanSutがコメントで提案したように、ssh -W
コマンドラインオプションの代わりに、この構成が機能するはずです。
Host axp
User remote_userid
HostName remoteserver.com
IdentityFile ~/.ssh/id_rsa.eric
ProxyCommand ssh -AW %h:%p bridge_userid@bridge_userid.com