
リモート Windows サーバーへの RDP 接続を確立しようとしています。ファイアウォールの制限により、2 つのリモート SSH サーバーを介して SSH トンネルを作成する必要があります。
win7 + putty => sshsrv1 (ルートなし) sshsrv1 => sshsrv2 (ルート) sshsrv2 は、接続先の winsrv2008 と同じネットワークにあります。
Putty で、「トンネル」で転送するポートを追加しました。1 つの ssh サーバーのみを使用する場合は、これで問題なく動作します。実際に必要なのは 2 つの ssh サーバーですが、これを動作させることができません。
質問: ルート権限なしで sshsrv1 でポート転送するにはどうすればいいですか? これは可能ですか?
答え1
openssh のマニュアル ページから: 「特権ポートを転送できるのはスーパーユーザーだけです」。
1024 未満のポートは「特権」ポートとみなされます。RDP はデフォルトで 3389 を使用するため、この範囲外になります。
ABCD を Winsrv2008 マシンの IP アドレスとすると、次の操作を実行できます。
- Win7のポートpXをsshsrv1のポートpYに転送する
- sshsrv1 のコマンド ラインから ssh セッションを sshsrv2 に開き、ポート pY をホスト ABCD のポート 3389 に転送します (オプション -L pY:ABCD:3389)
- Win7ではRDPクライアントを127.0.0.1:pXに接続します
ポートpXとpYは自由に選択できるので、特権ポートや使用中のポートは避けてください。