Mountain Lion ssh -X 문제


8

SSH를 통해 Mountain Lion X11 전달에서 실행하는 방법은 무엇입니까?

예:

ssh -X some@example.com xterm

내 / etc / sshd_config에는

X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost yes

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
XAuthLocation /opt/X11/bin/xauth

sshd로 다시 시작

launchctl stop com.openssh.sshd
launchctl start com.openssh.sshd

(그리고 환경 설정-> 공유에서도)

XQuatrz를 시작하고 xterm에서 실행

ssh -v -X mrp@192.168.1.17 xterm        #this part not works :)

다음을 얻었다 :

debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.17 ([192.168.1.17]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending command: xterm
debug1: Remote: No xauth program; cannot forward with spoofing.
X11 forwarding request failed on channel 0
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2656, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 29582.4, received 27622.1
debug1: Exit status 1

xterm에서

$ echo $DISPLAY
/tmp/launch-BHtJfJ/org.macosforge.xquartz:0

그것을 변경해도 :0도움이되지 않습니다

xterm에서 실행

$ xauth list
jonatan.local/unix:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
192.168.1.9:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2
jonatan.local:0  MIT-MAGIC-COOKIE-1  f4f85682af36ae7d95cd3d244cb6beb2

어떤 생각?


어떤 부분이 효과가 없는지 분명히 말씀해 주시겠습니까?
몸매

@demure 내 영어는 충분하지 않습니다. 오류 메시지가 충분히 명확하기를 바랍니다. 그러나 좋아, 작동하지 않는 것을 정확하게 보여주기 위해 질문에 의견을 추가했습니다. 또는 더 정확한 것은 이상한 이유로 ssh를 통해 X 프로토콜 터널링을 작동하지 않습니다. 아마도 xauth 일 것입니다. 관심을 가져 주셔서 감사합니다. :)
jm666

답변:


8

XQuartz를 열어야합니다. X11환경 설정보안으로 이동 하십시오. 두 개의 확인란이 있습니다. 첫 번째 비활성화, 두 번째 활성화. XQuartz를 다시 시작하고 다시 시도하십시오. 다음 $DISPLAY과 같이 변수 를 정의해야합니다 .

export DISPLAY=clienthost:0.0

그동안 문제는 OS X가 아닌 다른쪽에 있다는 것을 알았습니다.; 어쨌든 +1 감사합니다.
jm666

@ jm666, Andreu 같은 문제가 있으며이 솔루션이 효과가 없었습니다. # jm66이 문제를 해결 한 경험을 공유 할 수 있습니까?
math137

무엇입니까 clienthost?
Jonathan

1

어떻게 이런 일이 일어날 수 있는지 모르지만 오류 메시지가 나오는 SSH 소스에서 다음을 수행하십시오.

/* Try to open a socket for the local X server. */
display = getenv("DISPLAY");
if (!display) {
    error("DISPLAY not set.");
    return -1;
}

그것은 실제로 ssh가 변수가 전혀 설정되지 않았다고 생각한다는 것을 나타냅니다 (즉, 변형되거나 무언가가 아니라 누락되었습니다).

SSH가 다른 환경을 갖도록 SSH가 사용자 컨텍스트를 변경하는지 확실하지 않습니다. 당신은 시도 할 수 있습니다

ssh -vvv ....

(여러 개의 "v") 더 많은 디버그 출력을 얻으려면 시작시 어딘가에 힌트를 줄 수 있습니다.


와우-좋은 생각이 여러 vvv-확인하려고합니다. Thanx :)
jm666

좋습니다, 그것이 도움이되기를 바랍니다
Terminality
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.