sshd_config
編集:操作コンピュータでファイルを正しく設定していません。その行のコメントを削除しましたが、「X11Forwarding no
はい」の代わりに「いいえ」と書かれていることに気づいていませんでした。デフォルトは「いいえ」なので、あまり気にせずにX11Forwarding yes
コメントを削除した後の結果であると仮定しました。
真ん中に共用マシンがあります。職場に別のコンピュータであるWORKがあり、私の自宅のコンピュータであるHOMEからそのコンピュータにアクセスできるようにしたいです。
HOMEはMIDDLEにアクセスでき、WORKはMIDDLEにアクセスできますが、MIDDLEはどのマシンにも直接アクセスできず、HOMEとWORKは互いに直接アクセスできません。
X11Forwardingが有効なジョブでSSHサーバーを実行しています。職場から途中まで駅トンネルを設置して自宅ですればssh -X MIDDLE
、ssh -X -p <someport> localhost
私は得るX11 forwarding request failed on channel 0
。
トンネルの設定に使用するコマンドは次のとおりです。
# On machine WORK:
user2@WORK: $ ssh -R 33333:localhost:22 user1@MIDDLE
# On machine HOME:
user@HOME: $ ssh -Y user1@MIDDLE
# And then on machine MIDDLE:
user1@MIDDLE: $ ssh -Y user2@localhost -p 33333
メモ: user1 != user2
。
私が望むことを達成する方法はありますか?
答え1
「新しい」(実際にはあまり新しくない)cmdlineフラグを使用してみることができます-Y
。これはより良いものデリゲート-X
。マニュアルから:
-Y Enables trusted X11 forwarding.
Trusted X11 forwardings are not subjected
to the X11 SECURITY extension controls.
今これは多くのことを明らかにしません(少なくともリンクに関する限り)。しかし、クイックテストで動作することがわかりました。
$ ssh -Y localhost # first connection
$ ssh -Y localhost # second connection on top of first connection
$ xclock
(実際のネットワークでもテストしましたが、真ん中マシンには確かにX11サーバーがないので動作します.)
答え2
明らかに
ssh -Y user1@MIDDLE -p 33333
問題はHOMEで解決する必要があります。ssh -Y user2@localhost -p 33333
途中にいる必要はありません。