GNU/Linux >> Linux の 問題 >  >> Linux

Ssh – 3番目のマシンにトンネリングするためのSsh構成ファイル設定を修正しますか?

ブリッジサーバーを介してサーバーにトンネリングしようとしています。これまでのところ、次のコマンドを使用して、コマンドシェルから適切に機能させることができました。

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

Linux
  1. Ssh –スクリプトにパスワードを渡す?

  2. authorized_key ファイルで許可が拒否されました

  3. HTTPS SSH トンネル

  1. SSH - ~/.ssh/config ファイルに -t コマンドを含める方法

  2. SSH トンネルを介して SSH を転送する

  3. ~/.ssh/config ファイルを複数持つことはできますか?

  1. Ssh – Sshを介した別のマシンを介したトンネルトラフィック?

  2. 中間マシンを介してScpする方法は??

  3. .ssh/config へのパスワードの追加