リモートデスクトップを介してリモートデスクトップを実行するために、中間サーバーを使用して2つのSSHトンネルを構成する方法を以前に質問し、それを機能させることができました。今、私は同じマシンを使用して同じことをしようとしていますが、逆の順序です。ここに設定があります:
- ファイアウォールの背後にあるプライベートネットワーク内のWindows 7 PC。
- PCにアクセスできるパブリックアクセスLinuxサーバー。
- PCからリモートデスクトップを実行したい自宅のWindows 7ラップトップ。
ラップトップでPuttyを使用して、それからLinuxサーバーへの逆トンネルを作成しますR60666 localhost:3389
。
PCでPuttyを使用して、PCからLinuxサーバーへの通常のトンネルを作成しますL60666 localhost:60666
。
LinuxサーバーにSSHで接続し、telnet localhost 60666を実行すると、ここで受け取ったデバッグのヒントで説明されているように、予期した出力が生成されるようです。
リモートデスクトップをPCからラップトップに接続してみますlocalhost:60666
。ユーザー名とパスワードの入力を求められ、[OK]をクリックすると、ラップトップの現在のセッションがロックされ(デスクトップではなくラップトップのウェルカム画面が表示されます)、リモートデスクトップ画面に「ようこそ」メッセージが表示されます。真っ黒になるだけです。切断されず、エラーも発生せず、リモートデスクトップ画面でアクションを実行できません。Windows XPラップトップで同じ設定を試しましたが、同じ現象が発生しています。60666以外のポートも使用しようとしましたが、何も変わりませんでした。誰かが私が間違っていることを知っていますか?
更新:@jwindersで指摘されているようにtelnet PC 3389
、Linuxサーバーから直接実行することはできません。Windowsファイアウォールには、ポート3389でのすべての接続を許可するルールがあるため、何がそれをブロックしているのかわかりません。幸い、LinuxマシンからPCへのSSHトンネルを作成できますssh 3389:localhost:3389 'domain\user'@PC
。