リモートサポート:SSHトンネルを介してRDPルーティング?

リモートサポート:SSHトンネルを介してRDPルーティング?

TeamViewerをFOSSソリューションに置き換えたいです。一部のリモートコンピュータをサポートする必要があります。次のように、中間サーバーを使用して2台のコンピュータ間で動作するSSHトンネルを設定しました。

Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop

現在、このSSHトンネルが実行されています。

次に、SSHトンネルを使って「Kubuntu_laptop」から「Kubuntu_desktop」のデスクトップに接続したいと思います。

この足の接続について:

Debian_Server<--nat_fw<--Kubuntu_desktop

次のように設定されます。

autossh -M 5234 -N -f -R 1234:localhost:22 [email protected] -p 22

既存の監視ポート(5234)またはリモート(-R)ポート番号(この場合は1234)を変更できません。この既存のSSH接続を介してvncトンネルを使用できますか?修正する:答えは次のとおりですno。ここで説明されているように、vncで使用する新しいSSHトンネルを設定する必要があります。

この足の接続について:

Kubuntu_laptop--->nat_fw--->Debian_Server

任意のSSHパラメータを使用できます。

ルーター/ファイアウォールのポートを開けません。

誰かがx11vncサーバーをお勧めし、それでテストしています。デスクトップで実行され、ポート5900でリッスンします。ただし、x11vncを起動するときにコマンドラインオプションを使用しなかったため、正しく設定されていない可能性があります。

vncは既存のSSH接続を介して機能しますか?ポート 5900 は定義されていません。上記のように、-Rオプションではポート番号を変更できません。

これを機能させる方法について多くの質問がありますが、その1つは、vncが既存のポート(上記の例では-R 1234)でリッスンできるかどうかです。それでは、今のようにまだそのボックスにSSH経由でアクセスできますか?

これが私が今まで試したことです:

リモートデスクトップ(x11vncサーバーがインストールされている場所)から:

tester@Kubuntu_desktop:~> autossh -M 5234 -i ~/.ssh/my_id_rsa -fNR 1234:localhost:5901 [email protected]

x11vncサーバーがポート5901で実行されていることを確認してください。

tester@Kubuntu_desktop:~> x11vnc -autoport 5901

私のラップトップから:

sudo ssh -NL 5901:localhost:1234 -i ~/.ssh/admin_id_rsa [email protected]

ローカルvncクライアントをlocalhostポート5901に接続する

Kubuntu_laptop で KRDC を開き (vnc) に接続します。

localhost:5901

接続に失敗しました。 - server not found

ベストアンサー1

現在、ラップトップとサーバーの間に基本的なSSH接続があるようです。

Kubuntu_laptop--->nat_fw--->Debian_Server

機能するようにSSH接続のパラメータを変更します。

-fNL [localIP:]localPort:remoteIP:remotePort

たとえば、

-fNL 5900:localhost:1234

ノートブックがデフォルトのポート5900でVNCを使用している場合は、ノートブックにvncをlocalhostとして指示し、ポート5900のVNCトラフィックをポート1234のサーバーに送信します。

次に、サーバー側ポート1234に到着するトラフィックをキャプチャしてデスクトップに転送する必要があります。

Debian_Server<--nat_fw<--Kubuntu_desktop

以下を含むデスクトップSSH接続のパラメータを変更します。

-fNR [remoteIP:]remotePort:localIP:localPort

たとえば、

-fNR 1234:localhost:5900

サーバーローカルホストのポート1234に送信されたすべてのトラフィックは、デスクトップとVNCサーバーが待機するポート5900に移動します。

ポート5900を使用しているプロトコルに適したプロトコルに変更してください。 5900が使用されている可能性があるため、RDPの場合は3389、VNCの場合は5901です。また、サーバーで使用するポート1234をランダムに選択しました。

*更新された質問に関するいくつかの注意:

  1. SSH のデフォルトポートは 22 なので、-p 22デフォルトポートをオーバーライドして 22 に設定するので、重複します。
  2. localPort:remoteIP:remotePortこれらの設定は、sshがトンネルに使用するポートとは何の関係もないようです。クライアントで-pに上書きし、sshサーバーのポートを上書きしない限り、まだ22です。したがって、前述のすべてのsshコマンドはポート22を使用します。これは、受信および確立されたネットワーク接続を見ると確認できます。ファイアウォールで別のポートを開く必要はありません。前のコマンドは正しいです。
  3. アップデートに追加した内容に応じて、デスクトップコマンドは次のようになります。autossh -M 5234 -fNR 1234:localhost:5900 [email protected]
  4. 申し訳ありません。 VNCクライアントの推奨事項はありません。これについては別途質問をしていただきたいと思いますが、意見の問題なので反対表が出てきそうです。

おすすめ記事