ssh: チャネル 0 で X11 転送要求が失敗しました (Linux->Mac)

ssh: チャネル 0 で X11 転送要求が失敗しました (Linux->Mac)

(これはstackoverflowで指摘しましたが、交差投稿して申し訳ありません)

MacでFirefoxなどのアプリケーションを実行し、Linuxクライアント(キーボード)Macでウィンドウを開くために、Linuxコンピュータ(Linux Mint 19.2)からMacBook Pro(OS 10.14.6程度)でsshを試しています。デバイスにはリモートでのみアクセスできます。ただし、ウィンドウが開かずにX11 forwarding request failed on channel 0ログインすると、一般的なSSHの問題を示すエラーメッセージが表示されます。このトピックに関する多くの記事で提案されたさまざまな方法を試しましたが、何も機能しません。私は設定しました

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

Macでは/etc/ssh/sshd_configsshdを再起動してください。また、Linuxシステムにも設定しましたForwardX11 yes。別のログイン中にエラーメッセージが表示されたにもかかわらず、Mac(マイ)にインストールされました。しかし、エラーはまだ存在します。/etc/ssh/ssh_configxauth/opt/local/bin$PATH

以下はverboseモードでのssh出力の一部です。

debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/thomas/.ssh/id_rsa
debug1: Trying private key: /home/thomas/.ssh/id_dsa
debug1: Trying private key: /home/thomas/.ssh/id_ecdsa
debug1: Trying private key: /home/thomas/.ssh/id_ed25519
debug1: Next authentication method: keyboard-interactive
Password:
debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.2.100 ([192.168.2.100]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: exec
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending environment.
debug1: Sending env LANG = de_DE.UTF-8
debug1: Remote: No xauth program; cannot forward X11.
X11 forwarding request failed on channel 0

私が言ったように、xauthMacでは:

:~> which xauth
/opt/local/bin/xauth

それで、なぜ見つからなかったのかわかりません。この問題を解決する方法についてのアイデアはありますか? Macでアプリケーションを開くことができることは私にとって非常に重要です。まな

答え1

Mac用Firefoxは、X11をまったく使用せず、MacOSのデフォルトのAPI(Cocoa)を使用します。したがって、X11 アプリケーションではないため、X11 転送では使用できません。

エラーを修正するには:

debug1: Remote: No xauth program; cannot forward X11.

1行を追加する必要があります/etc/ssh/sshd_config

XauthLocation /opt/local/bin/xauth

その後、サービスを再起動する必要がありますsshd

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

その後、X11転送を介してMacへのSSH接続を確立し、すべてのタスクを実行できる必要があります。X11アプリケーション対応する表示ウィンドウをSSHクライアントに渡します。

しかし、まだ配信が許可されていないようで残念です。基本的なMacOSアプリ同じ方法。リモートでアクセスするには、Macを有効にする必要があります。画面共有サービスを提供し、VNCクライアントアプリケーションを使用してMacに接続します。

答え2

フォローするフィリップのコメント私はX11転送の一般的な問題を解決するためにXAuthLocation /opt/local/bin/xauthこの行を追加しました。/etc/ssh/sshd_configしかし、「クラシック」X11プログラムは現在動作していますが、他のプログラム(Firefoxなど)はまだ機能していません。

関連情報