回答:
承知しました; SSHポート転送/トンネリングを使用するだけです。次のコマンドを使用して、「プロキシ」マシンへのssh接続を開始します。
ssh -L$LOCALPORT:$REMOTEHOST:$SSHPORT $PROXYHOST
$PROXYHOST:SSHアクセスが可能なマシン$REMOTEHOST:$ PROXYHOSTが接続できるマシンですが、接続できません。$PROXYHOSTマシンの参照に使用できるホスト名またはIPを使用します$SSHPORT:sshdがリモートホストで待機しているポート。おそらく22$LOCALPORT:ローカル送信ポートSSHがローカルマシンで開いており、ポート22に転送します $REMOTEHOSTトンネルを機能させ続けるには、その接続をそのままにしておきます。-Nコマンドに追加して、この接続がリモートシェルを起動しないようにし、後で誤って閉じないようにすることもできます。
トンネルが確立されたら、次の手順を実行します。
ssh -p $LOCALPORT localhost
これにより、$REMOTEHOSTのSSHポートに転送されるポートでローカルマシンへのSSH接続が試行されます。
クライアントの設定を更新する場合は、ゲートウェイボックスをプロキシとして使用するようにクライアントを設定できます。リレーボックスにはnetcatをインストールする必要があります。最良の結果を得るには、キーベースの認証を設定する必要があります。
これは、別のホストを介して接続するために.ssh / configで使用するものです。
Host internal-ssh-host-proxy
ProxyCommand /usr/bin/ssh username@ssh-relay-host "/bin/netcat -w 1 internal-ssh-host 22"
上記を使用すると、クライアントマシンからコマンドssh internal-ssh-host-proxyを実行できます。
プロキシSSHホストにOpenSSHクライアント5.4以降がインストールされている場合は、netcatは不要で、代わりに組み込みのnetcatモードを使用できます。
Host internal-ssh-host-proxy
ProxyCommand /usr/bin/ssh username@ssh-relay-host -W internal-ssh-host:22
OpenSSHを使用して接続を自動的に転送できます。あなたには~/.ssh/authorized_keys、ファイル、あなたは、第二のマシンにSSHすることができた、実行するコマンドを指定することができます。
[ssh client] ----> [ssh relay server] ----> [ssh target server]
you modified authorized_keys target machine
最終的に表示されるのPassword:は、リレーサーバー用とターゲットサーバー用の2つのプロンプトです。証明書を使用すると、いつでもこの動作を削除できます。