以下を使用してサーバーにログインできます。
ssh -X Hostip
ただし、コマンドを実行すると、xclock
次のエラーが発生します。
Error: Can't open display: localhost:11.0
以下を使用して表示値を確認しました。
echo $DISPLAY
結果:
localhost:11.0
次に、sshd_configファイルでX11転送をYESに設定します。
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
私がここで逃したことについての提案はありますか?
答え1
使用-Y
。 SSHのマニュアルページから:
-Yは信頼できるX11転送を有効にします。信頼できるX11転送にはX11 SECURITY拡張制御は適用されません。
それでも問題がある場合は、お試しください。$DISPLAY
ローカルボックスのIPに設定:
$ export DISPLAY='<ip_address>:11.0'
に設定する
$ export DISPLAY='127.0.0.1:11.0'
人々はこの問題に頻繁に遭遇するようです。Mac OS XのSSH。設定したいかもしれません。
X11UseLocalhost no
この場合も同様である。
答え2
これは私にとって効果的です。
変化
X11UseLocalhost yes
到着
X11UseLocalhost no
答え3
~に帰属https://unix.stackexchange.com/a/12772/61349診断メモを入手してください。
SSHクライアントがX11転送を要求していることを確認してください。-Vバナー
ssh example.com -X -v
特定のメッセージを見つけるには、次の手順に従ってください。
debug1: Requesting X11 forwarding with authentication spoofing.
問題の別の明白な兆候は、DISPLAY
環境変数が設定されていないことです。空か設定されていない場合は、何か間違っています。少なくともによると上記の同じ記事を使用すると、これらの変数が自動的に設定されます。
SSH Control Masterを使用し、SSH接続は次のとおりです。
Host <hostname>
ControlMaster auto
ControlPath ~/.ssh/control/%r@%h:%p
ControlPersist 10m
以前のSSH接続はX11Firwardingを要求しなかったため、ssh
将来の呼び出しのオプションは使用されませんでした。だから私にとって
SSH-X
は完全に無視されます
「X11 転送要求」は表示されませんが、セッションを再利用する muxer が表示される場合。
debug1: auto-mux: Trying existing master debug1: mux_client_request_session: master session id: 10
その後、その接続に対して現在のControlMasterを終了し、-X / -Yフラグを使用して再接続する必要があります。
ControlMasterを停止
ssh -O check <hostname>
Master running (pid=2758)
(これにより、ControlMasterを使用するすべてのアクティブ接続が終了します)
ssh -O exit <hostname>
Exit request sent.
答え4
私の場合は、macOSからXQuartzに転送しようとしたときにXQuartz端末(ドックのXQuartzアイコンを右クリックし、アプリケーション>端末をクリックして開く)でコマンドを実行してssh
問題を解決しました。ssh -Y