職場のコンピュータから自宅のコンピュータで X プログラムを実行しようとしています。基本的な設定は次のとおりです。
Arch Linux の職場用コンピュータ -> OpenBSD SSH ルーター (自宅) -> Arch Linux の自宅用コンピュータ (SSH あり)
実際にこれを試したことがないので、やり方がよくわかりません。どうすればこれが機能するのでしょうか?
やってみると
$(work computer) ssh -Y home-ip
..
$(home router) ssh -Y private-ip
最後のトンネルで「チャネル0でX11転送要求が失敗しました」というメッセージが表示される
これを適切に行うにはどうすればいいでしょうか?
編集: 自宅のコンピュータの sshd で X 転送を有効にするのを忘れていました。今は修正しましたが、次のような簡単なコマンドを実行しても何も起こらないようですxterm
。おそらく、仕事用のコンピュータではなくルーターの xterm ウィンドウを表示しようとしているため、そのままになっています。
答え1
職場のコンピューターのポートを自宅のコンピューターのポート 22 に転送し、さらにssh -Y
そのローカル ポートに転送するのはどうでしょうか?
例えば、
ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222
答え2
実行した内容は機能するはずですが、SSH が作成する仮想 X11 ディスプレイのセキュリティ キーを作成できるように、ルーターにプログラムをインストールする必要があります。xauth
実際に X アプリケーションを実行せず、他の場所へのステップとして使用する場合でも、使用するxauth
マシンに必要です。ssh -X
ssh -Y
自宅のコンピュータに接続したら、$DISPLAY
変数を確認してください。 のような値になっているはずですlocalhost:10
。 そうでない場合は、ルーターのシェルに戻って確認してください$DISPLAY
。