web-dev-qa-db-ja.com

別のSSHサーバーを仲介として使用してSSHサーバーにアクセスできますか

2つのサーバーがあります

Server1 -> Static IP1 
Server2 -> Static IP2

Server2のファイアウォールは、Static IP1からのアクセスのみを許可します

どこからでもssh経由でServer1に接続できます。

Sshを介してServer2に接続し、次にServer1sシェル内からServer2に別のsshを実行する代わりに、sshを介して動的IPの背後にあるPCからServer1に接続するにはどうすればよいですか。

6
gabtzi

OpenSSH 7.3p1以降を使用している場合は、単一のコマンドでserver1をジャンプホストとして使用するように指示できます。

ssh -J server1 server2

古いバージョンについては fcbsdanswer を参照してください。

10
Stephen Kitt

ssh ポート転送を使用する必要があり、必要に応じて-Lオプションまたは-Rオプション。

ssh server1 -g -L 2222:server2:22

-gを使用すると、リモートホストがローカルの転送ポートに接続でき、-Lは、server1のポート2222に接続を設定して、server2のポート22に接続します。

したがって、server1 ssh localhost -p 2222はserver2に接続します。

問題がある場合は-vvvこれは、多くのデバッグ出力を提供するのに役立ちます。

-Rは、逆方向トンネルを設定するため、リモートホスト上の接続はローカル側に転送されます。

3
fcbsd