複数のシステムを介した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