作業するには、ローカルコンピュータからコンピュータA経由でコンピュータBにSSH経由で接続する必要があります。問題は、コンピュータAにX11転送機能がなく、それを変更するためのスーパーユーザー権限がないことです。私にはマシンBのスーパーユーザー権限があり、X11転送がオンになっています。
AでX11転送を有効にせずにBからAを介して自分のローカルコンピュータにX11を転送する方法はありますか?
実行しようとしましたが、ログイン時にマシンAが出力されssh -t -X user@A ssh -X user@B
続けますssh -t user@A ssh -X user@B
。X11 forwarding request failed on channel 0
ベストアンサー1
~.ssh/config に以下を追加します。
Host BviaA
HostName hostB
ProxyCommand ssh user@hostA nc %h %p 2> /dev/null
それではssh -X user@BviaA
うまくいくはずです。
上記の構成セクションでは、Host BviaA
何が起こっているのかをより明確に説明しました。Host hostB
以下を使用して完全に透明にすることもできます。 (ssh -X user@hostB
ゲートウェイが不要なように)
または設定変更なしで1行テストで:
ssh -X -oProxyCommand="ssh user@hostA nc %h %p" user@hostB