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.