複数のシステムを介したSSHトンネルの設定(SOCKS用)

複数のシステムを介したSSHトンネルの設定(SOCKS用)

複数のシステムを介したSSHトンネリングに関する質問を見たことがありますが、SOCKS接続をトンネリングしたいと思います。

通常、私は同様のssh -C2qTnN -D 8080 username@remote_machineアプローチを使用してローカルポート8080をリモートシステムを介したSOCKSトンネルにします。 machine1からSSH経由でのみアクセスできるmachine2のラップトップでソックス接続を開きたいです。

そのため、ローカルポート8080がmachine2にリダイレクトされ、何らかの方法でmachine1の8080を一般的な意味のトンネルSSH接続の代わりにラップトップのローカルポートに再パイプするようにmachine1でコマンドを実行したいと思います。

答え1

したがって、私が正しく理解している場合は、マシン1からマシン2にSSHを接続できますが、ラップトップではSSHを使用できません(ノートブックからマシン1にSSHを接続できます)。マシン1にソックスサーバーをインストールし、ラップトップで使用しますか?したがって、必要なのはラップトップで8080を実行することだけです。ポート転送:

ssh -nL 8080:localhost:8080 machine1 ssh -C2qnN -D 8080 username@machine2

答え2

この質問に対する2018+の回答は次のとおりです。RemoteCommandオプションに指定されています~/.ssh/config

Host proxy
    Hostname ma.ch.in.e1
    RemoteCommand ssh -C2qnN -D 8080 username@machine2
    LocalForward 8080 localhost:8080

これが必要ですオープンSSH 7.62017年11月以降から。以前のバージョンでは、@StéphaneChazelasの答えを使用する必要がありました。

machine1プロキシを起動せずに接続するには、次のようにエイリアスを追加しますm1

Host m1
    Hostname ma.ch.in.e1

関連情報