LM 17 Xfce OpenSSH_6.6.1p1 우분투-2ubuntu2
여기저기서 인터넷 검색을 해보아도 제대로 작동하지 않는 것 같습니다. 이 오류가 계속 발생합니다.
$ xlogo
Error: Can't open display: localhost:10.0
디버그 전달 x11 및 sshd 일반 인스턴스를 사용하여 두 가지 유형의 연결을 모두 시도했습니다.
ssh -Y remotehost -p 2500
ssh -X remotehost -p 2500
서버 구성에서는 x11 전달이 허용됩니다.
디버그에서 새 sshd 인스턴스로 테스트할 때 연결할 때 이 내용이 표시됩니다. 디버깅과 관련된 유일한 부분은 다음과 같습니다.
debug1: channel 1: new [X11 inet listener]
debug1: channel 2: new [X11 inet listener]
디스플레이가 설정되었습니다
$ echo $DISPLAY
localhost:10.0
사용자는 sudo 액세스 권한이 있는 표준 사용자입니다. 그렇지 않으면 문제가 없습니다(모든 cli가 잘 작동합니다.)
또한 저는 멀티플렉싱 연결을 사용하지 않고 있으며
직접 연결할 때 x11 전달(ssh -X 127.0.0.1)을 사용할 수 있습니다.
연결하는 동안 ssh -v를 사용하면 오류가 발생할 때 더 이상 유용한 피드백을 제공하지 않습니다.
제가 시도해 볼 수 있는 것을 놓친 경우 알려 주시기 바랍니다. 혼란스러워요.
편집하다:
$ netstat -l | grep 6010
tcp 0 0 ip6-localhost:6010 *:* LISTEN
tcp6 0 0 ip6-localhost:6010 [::]:* LISTEN
또한 서버에서 ssh -X 127.0.0.1을 실행했는데 다음이 출력되었습니다.
Warning: No xauth data; using fake authentication data for X11 forwarding.
xauth 목록. 이 개인 정보에 관심을 가져야 합니까? 내가 atm에 무엇을 게시했는지 잘 모르겠습니다.
remotehostname/unix:14 MIT-MAGIC-COOKIE-1 70f068c8dd2431088bcxxxxxxxxx
remotehostname/unix:13 MIT-MAGIC-COOKIE-1 be500209ccb9fb769eexxxxxxxxx
remotehostname/unix:12 MIT-MAGIC-COOKIE-1 01fc30e4887501602ebxxxxxxxxx
remotehostname/unix:11 MIT-MAGIC-COOKIE-1 d04f849725f71070095xxxxxxxxx
remotehostname/unix:10 MIT-MAGIC-COOKIE-1 42e99c898ef9aa295b4xxxxxxxxx
localhost를 먼저 넣도록 /etc/hosts 파일을 변경했습니다. 이제 추가 메시지를 받았습니다. 도움이 되는지 확인하기 위해 재부팅도 했습니다.
127.0.0.1 localhost remotehostname localhost.localdomain
::1 localhost ip6-localhost ip6-loopback
X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0
~/.Xauthority 파일을 삭제했는데 자동으로 생성되지 않는 것을 확인했습니다. 내 Raspberry Pi에서 이것을 테스트했는데 경고가 표시되고 ~/.Xauthority 파일이 생성되었습니다. 원격 호스트에서는 이 문제가 발생하지 않습니다. 그러나 그것을 생성할 수 있는 권한은 괜찮습니다.
답변1
$DISPLAY
설정이 올바르고 파일이 생성되지 않았기 때문에 ~/.Xauthority
X11 포워딩을 고려했지만 xauth
실행되지 않는 것일 수 있습니다. 한 가지 이유는 경로에 있지 않기 때문일 수 있습니다(Mac OS X에서는 이 문제가 있었지만 Linux에서는 이상할 것입니다). 파일을 만들어 직접 이 작업을 수행할 수도 있습니다 ~/.ssh/rc
. 예를 들어 다음이 있습니다.
if [ -n "$DISPLAY" ]; then
echo "DISPLAY: $DISPLAY" >&2
if read proto cookie; then
if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie
else
echo add $DISPLAY $proto $cookie
fi | $HOME/.ssh/xauth.wrapper -q -
fi
fi
그 중에는 파일 잠금을 구현하는 ~/.ssh/xauth.wrapper
래퍼가 있습니다. 그러나 만일의 경우에는 경로 이름이나 전체 경로 이름을 사용할 수 있습니다. 이는 sshd(8) 매뉴얼 페이지("SSHRC" 섹션 참조)에 설명된 내용과 매우 유사합니다.xauth
~/.Xauthority
xauth
xauth
실수하지 않도록 조심하세요.