ブリッジサーバーを介してサーバーにトンネリングしようとしています。これまでのところ、次のコマンドを使用して、コマンドシェルから適切に機能させることができました。
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 [email protected]_userid.com ssh -A [email protected]%h
しかし、そうすると、remoteserver.com
から次のエラーメッセージが表示されます。 何が原因なのかわかりません:
ksh:SSH-2.0-OpenSSH_6.8 ^ M:見つかりません
remoteserver.com
にログインするとわかります 、私のシェルは/usr/bin/ksh
です 。
設定ファイルのsshコマンドにパス引数を追加しようとしましたが、違いはありませんでした。
それが何であるかについて何か考えはありますか?
承認された回答:
Jakujeの答えは正しいですが、OpenSSH 7.3
以降 、-J
を使用できるようになりました ProxyJump
これは簡単です。私のメモを参照してください:
OpenSSH 7.3
以上
ProxyJump
を使用する 。マニュアルで説明されているように:
-J [[email protected]] host [:port]
最初にジャンプホストへのssh接続を確立し、次にそこから最終的な宛先へのTCP転送を確立することにより、ターゲットホストに接続します。複数のジャンプホップは、コンマ文字で区切って指定できます。これは、ProxyJump構成ディレクティブを指定するためのショートカットです。
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
を追加します 詳細出力用
ProxyJump -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
OpenSSH 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
OpenSSH以下の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
OpenSSH7.3で追加
- ssh(1):ProxyJumpオプションと対応する-Jコマンドライン
フラグを追加して、1つ以上のSSH
要塞または「ジャンプホスト」を介した間接化を簡素化できるようにします。
-W
OpenSSH5.4で追加
- ssh(1)に「netcatモード」を追加しました:「ssh-W host:port…」これにより、クライアントの
stdioがサーバーの単一のポートフォワードに接続されます。これにより、たとえば、sshをProxyCommandとして使用して、中間サーバーを介して接続をルーティングすることができます。
bz#1618