以下のようなネットワークで,端末AのXウィンドウをBで表示する方法を教えてください.



Linux端末A (プライベートIP)

X中継用サーバR(グローバルIP)

Linux端末B (プライベートIP)

※ AとBは別のセグメントに存在しています

試したが不成功だったこと.
RをSSHサーバとして,以下の手順を実行しましたが,うまくいきませんでした.

1.A→RへのSSH
$ ssh -L6002:"サーバR":6001 "サーバR"

2.B→RへのSSH
$ ssh -R6001:127.0.0.1:6000 "サーバR"

3.AにてXウィンドウ実行(エラー出現)
$ DISPLAY=127.0.0.1:2.0 xclock
Error: Can't open display: 127.0.0.1:2.0

4.AのSSH接続画面にて以下のエラーを発見
channel 2: open failed: connect failed: Connection refused


個人的には,openvpnやvtunなどでIPレベルのトンネルを掘るくらいしかないのかなと思
いました.
Xウィンドウの転送専用のサーバソフトウェアなどをご存じでしたら,そちらについても
ご教示ください.
よろしくお願いします.

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/04/26 13:18:36
  • 終了:2010/05/03 13:20:11

回答(2件)

id:ko8820 No.1

ko8820回答回数1221ベストアンサー獲得回数692010/04/26 16:59:46

ポイント35pt

>X中継用サーバR(グローバルIP)

このサーバーのルーチング関係の設定が必要です。

それか、Linux端末Bから、X中継用サーバR(グローバルIP)をアクセスすると

Linux端末A (プライベートIP)がアクセスできるように設定することです。

この設定も、サーバーRの設定です。

id:lnsdev

ありがとうございます.

設定が不足しているということでしょうか?

もう少しヒントをいただけませんでしょうか?

よろしくお願いいたします.

2010/04/26 17:40:16
id:pyopyopyo No.2

pyopyopyo回答回数353ベストアンサー獲得回数872010/04/27 00:51:35

ポイント35pt

方法はいくつかあります

一番簡単な方法は、ssh 自身が持っている Xプロトコルの転送機能を利用するものだと思います。

具体的には、まずLinux端末B (プライベートIP) のXウインドウ上でターミナルを開いて

 $ ssh -Y "サーバRのグローバルIP or ホスト名"

これでX中継用サーバR(グローバルIP)にログインします。サーバRにログインしたら、つづけて

 $ ssh -Y "端末Aのホスト名 or ローカルIP"

これでLinux端末A (プライベートIP) にログインします。あとは、

 $ xclock

とするだけです。

id:lnsdev

ありがとうございます.

ただ,サーバRから端末Aへのアクセスはできない環境です.

例えば,以下のような形です.

端末A--ISP1--サーバR--ISP2--端末B

説明不足で申し訳ございません.

2010/04/27 09:35:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません