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.

한 줄을 더 추가해야 합니다 /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)은 여전히 ​​작동하지 않습니다.

관련 정보