web-dev-qa-db-ja.com

sshを介したVNC / rdesktopのトンネリング

ファイアウォールの後ろに、Windowsコンピューターを持った友達がいます。ファイアウォールの背後にないLinuxマシンを自宅に持っています。

LogMeInなどの中間サービスを使用せずに、彼のマシンにrdesktop接続を確立したいと考えています。

私の計画は:

  1. 彼に私のマシンにSSHで接続してもらい(SSHはファイアウォールで許可されています)、適切なトンネルを設定します。
  2. 現在実行中のXサーバー上の私のマシンでrdesktop/vncをアクティブ化します。

私が気に入らないのは、現在実行中のXサーバーでユーザーとしてプログラムを実行する手間です。 my userのために、どういうわけか彼にトンネルを設定してもらいたいので、rdesktop localhost:1234彼が私とつながっている限り。

より賢い方法はありますか?

6

私はあなたのマシン上のサーバーとあなたの友人のマシン上のクライアントでvpn( openvpn など)をセットアップしたいと思います。彼があなたに接続してほしいとき、彼はvpnを開き(あなたのマシンにはログインは含まれません)、あなたはリモートデスクトップクライアントを彼のマシンのIPに開きます(少なくともopenvpnでは、あなたは彼のマシンに「固定」IPを割り当てることができます。毎回見る必要はなく、保存してください)。

この方法では、マシンにログインせず、VPNを開いたときにのみ彼のマシンにアクセスします。反対に、サーバーをマシンに接続させたくない場合は、サーバーをシャットダウンできます。とにかく、あなたが彼にあなたのマシン上のユーザー(またはあなたが望むアクセスだけを持っているユーザー)を与えなければ、彼はそこに多くをすることができません。

そしてこのように、彼らはvpnクライアントをインストールするだけでよいので、必要に応じてより多くの友人と簡単にそれを行うことができます。

1
laurent

質問を正しく読んでいると、sshトンネリングの側面が落ち込んでいるように聞こえますが、プログラムを友人のセッションで実行するのではなく、友人のマシンで自分のユーザーとして実行したいと考えています。友人のコンピューターで現在アクティブなセッションに接続する代わりに、バックグラウンドで実行される仮想デスクトップを作成するVNCサーバーが多数あります(tightvncは私が使用しているもので、かなり安定しています)。

友人のマシンにtightvncをインストールしたら、「tightvncserver:1」を実行して別のディスプレイでデスクトップを起動し、ポート5901(5900 +ディスプレイ番号)をマシンに転送できます。

デフォルトのデスクトップはかなりスペアであることに注意してください。リモートマシンの〜/ .vnc/xsessionスクリプトで、tightvncの起動時に実行される内容を構成できます。

0
p-static

これは、私がここ数年成功裏に使用してきたわずかに異なるアプローチです。それはあなたの側でいくつかのセットアップを必要としますが、それはあなたのリモートの友人にとって脳死するほど簡単になります。

まず、 ltraVNCシングルクリッククライアント を設定する必要があります。クライアントを手に入れたら、リモートユーザーに電子メールを送信できます。リモートユーザーがクライアントを実行すると、リスナーモードで実行されているvncクライアントに接続されます。これを逆のvnc接続と考えてください。逆接続、UltraVNC SCなどの詳細を読むことができます。 ここ

Lifehackerは、これらすべてをセットアップする方法を説明する良い仕事をしています ここ

0
slm