xauth가 .Xauthority 파일을 작성하지 않음


28

헤드리스 Linux Mint 17 시스템에 넣을 때 업데이트 / .Xauthority 파일을 만들지 않습니다.

또한, 내가 달릴 때 나는 xauth대답을 얻는다 :

marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>exit
marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>

파일을 만들지 않습니다.

편집하다:

모니터를 연결하고 로컬로 로그인하면 파일이 생성되지만 항목을 추가하려고하면 (SSH가 나를 위해하지 않기 때문에) :

marty@N40L ~ $ xauth list
N40L/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
localhost.localdomain/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
marty@N40L ~ $ ls -d .X*
-rw------- 1 marty marty 115 Sep  3 12:03 .Xauthority
marty@N40L ~ $ xauth generate $DISPLAY .
PuTTY X11 proxy: wrong authorisation protocol attemptedxauth: (argv):1:  unable to open display "localhost:10.0".

덧붙여서, a를하는 netstat --listen것은 포트 청취를 보여줍니다 :

tcp 0 0 localhost:6010 *:* LISTEN

AGH, 자세한 정보 서버에서 X 세션에서 로그 아웃했으며 .Xauthority 파일이 사라졌습니다. 로컬로 로그인했을 때만 파일이있는 것 같습니다. 누구든지 왜 또는 어떻게 해결할 수 있는지 말해 줄 수 있습니까?

새로운 개발 :

"test"라는 시스템에서 처녀 사용자를 만들었습니다. 그런 다음 다른 명령없이 xeyes를 실행했습니다. 어느 것이 효과가 있었습니까! 따라서 xforward 할 수없는 것은 오직 "marty"사용자입니다. 테스트에서 marty로 설정을 어떻게 복사합니까?


파일을 작성하라고 했습니까? ssh -XX11 전달을 활성화합니다.
user1686

예, Windows에서 Putty를 사용하고 있으며 전달을 위해 설정합니다 (다른 민트 서버에 연결하는 경우). 그러나 파일이 생성되지 않았으므로 수동으로 추가한다고 생각했지만 xauth는 수동으로 생성하지 않습니다.
wkdmarty

로컬 Xwindows는 .Xauthority 파일을 생성하지만 Putty SSH 세션은 생성하지 않습니다. 연결을 듣고 있음을 보여 주지만.
wkdmarty

답변:


34

보고하기 위해 비슷한 문제가 발생했습니다. 그러나 제 경우에는 그 단계를 따릅니다 .

다음 단계에 따라 $HOME/.Xauthority파일 을 작성 하십시오.

사용자로 로그인하고 사용자의 홈 디렉토리에 있는지 확인하십시오.

# Rename the existing .Xauthority file by running the following command
mv .Xauthority old.Xauthority 

# xauth with complain unless ~/.Xauthority exists
touch ~/.Xauthority

# only this one key is needed for X11 over SSH 
xauth generate :0 . trusted 

# generate our own key, xauth requires 128 bit hex encoding
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)

# To view a listing of the .Xauthority file, enter the following 
xauth list 

그 이후로는 .Xauthority파일에 더 이상 문제가 없습니다 .

srinivasan에 감사와 크레딧 .


1
내 경우에는이 [ prefetch.net/blog/index.php/2011/11/01/… 스레드를 사용하여 다른 곳을 가리키는 환경 변수 XAUTHORITY (부주의 한 실수) 가 있습니다. 오류. 를 사용 strace xauth하여 변수에 지정된 잘못된 경로를 지적했습니다. 또한 다른 것들 중에서도 잠금 오류가 발생했음을 덧붙여 야합니다.
Cybex

1
제 경우에는 1 단계에서 3 단계 만 수행하면됩니다. 4 단계와 5 단계는 실제로 작동하지 않았습니다.
Richard Ayotte 17 년

내가해야 할 xauth generate :0 . trusted것처럼 모든 명령 다음 user과 같은 디스플레이를 엽니 다 root. 고칠 수 있습니까?
Timo

xhost +로 x-apps를 여는 데 도움이되었습니다 root.
Timo

7
3 단계에서 오류가 발생했습니다.xauth: (argv):1: unable to open display ":0".
simpleuser

4

우수한 답변 을 보완하기 위해 .

내 홈 디렉토리가 100 % 가득 찼기 때문에 정확히 같은 문제가 발생했습니다. 연결시 ssh~/.Xauthority을 작성하고 단일 항목을 쓸 수 없었습니다 ( xauth list항상 빈 출력을 생성 함).

내가 검사에게 항상 여유 공간 (예 : 하나를 제안 그래서 df -h)과를 검증 xauth generate하고 xauth add실제로 어떤 효과가 있었을 ( xauth list).


1

시스템이 아니라는 것을 알게 된 후, 테스트 사용자 (x 포워딩이 "상자 밖으로"작동)를 추가하여 "파손 된"사용자를 처녀 화하기 위해 .bash * 시작 파일을 복사하기 시작했다고 생각했습니다.

파일이 다르지 않으므로 다음으로 users .ssh 디렉토리를 삭제했습니다. ssh 's에 들어갔을 때 "서버가 키를 거부했습니다"라는 메시지가 들렸지 만 비밀번호를 사용하여 로그인 할 수있었습니다. 일단 로그인하면 완벽하게 전달할 수 있습니다.

이제 키를 다시 설정하여 작동시킬 수 있는지 확인하겠습니다. 그런 다음 정상으로 돌아옵니다.


1

.ssh디렉토리를 다른 곳으로 옮기면 X 포워딩이 작동했습니다.

제거 프로세스를 통해 ~ / .ssh에서 "rc"라는 파일을 발견했으며 다음을 포함합니다.

echo "Wecome to $(hostname), $(whoami)"

나는 이것을 결코 만들지 않았으며 어디서 왔는지 전혀 모른다. 그것은 문제를 해결하고, 내 제거 authorized_keys, known_hosts및 키 파일이 할 수있는 모든 숙박 그대로.


1

루트 권한 하에서 /etc/ssh/sshd_config다음 행을 주석 처리 한 경우 주석을 해제하십시오.

전달 예

X11DisplayOffset 10

X11UseLocalhost 예

그런 다음에 -X플래그를 사용 하여 로그 아웃하고 다시 로그인하십시오 ssh. DISPLAY환경 변수 를 설정하거나 설정 해제 할 필요가 없습니다 .


0

기술적으로 자매 노드 인 두 서버에서 동일한 문제가 발생했습니다. 무엇이 다른지 알 수 없었기 때문에 꼬리에 통증이 있습니다. / home 디렉토리가 가득 차서 .Xauthority 파일을 제대로 채울 수 없습니다. 너무 많은 공간을 차지하는 파일을 찾아 제거하면 새로운 .Xauthority 파일이 제대로 작성되었습니다.

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