2014-03-04 2 views
5

사용자 그룹이 .org 파일의 위치를 ​​변경하려면 .Xauthority 파일 위치 대신 $ HOME/tmp/.Xauthority가 필요합니다. 기본 $ HOME/.Xauthority보다.특정 사용자로 ssh -X를 통해 로그인 할 때 .Xauthority 파일의 기본 위치를 변경하는 곳

나는 이미 내가 좋아하는 여러 소스에서 잡을 수있는 것을 시도하십시오 follwing을 함께 등 .... .bashrc에, 나는 .profile에 여러 /etc/.profile이 같은 환경 변수를 설정

: XAUTHORITY = $ 홈/tmp를/.Xauthority에의 결과로

:

의 $ HOME/.Xauthority에 잠금 타임 아웃에 sshx 그룹 (ssh를 -X 서버) 결과의 사용자와의 모든 로그인 시도. 그것은 아무것도 바꾼 것과 같습니다. 흥미로운 점은 $ XAUTHORITY를 echo하면 $ HOME/tmp/.Xauthority가 표시된다는 것입니다. authx는 잘 작동하지만 @ 로그인 시간이 아닙니다.

따라서 필요한 처리는 ssh -X 이전 또는 X 연결을 설정하기 전에 이루어져야합니다. root를 원하거나 sshX 그룹이없는 사용자는 결국 디렉토리가 없기 때문에 영향을받을 수 있기 때문에 어디에서 사용자 그룹을 지정할 수 있도록 변경해야합니까?

답변

2

나는 부분적으로 무언가를 생각해 냈지만 여전히 .Xauthority는 ~/tmp/.Xauthority로 재배치되었다.

모든 설정이 동일한 경우에만 파일이 생성 될 필요가있어 (우분투 서버는 대상 OS입니다) ~/스푸핑는 ssh -X 서버 이름의 연결시로드/RC :

if read proto cookie && [ -n "$DISPLAY" ]; then 
      if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then 
        # X11UseLocalhost=yes 
        echo add unix:`echo $DISPLAY | 
         cut -c11-` $proto $cookie 
      else 
        # X11UseLocalhost=no 
        echo add $DISPLAY $proto $cookie 
      fi | xauth -q -f ~/tmp/.Xauthority - 
    fi 

하는 xauth를 시작하고 원하는 위치에 파일을 작성하고 적절한 인증을 위해 .Xauthority 파일에 항목을 추가/작성합니다.

이제 셸이로드되었으므로 ~/profile을 수정해야합니다. .Xauthority 파일이있는 위치를 알아야합니다. 따라서 맨 위에 한 줄을 추가합니다 :

export XAUTHORITY=~/tmp/.Xauthority 

이렇게하면 ssh -X servername을 통해 쉘에 연결하고 모든 X 응용 프로그램을 시작할 수 있습니다. xeyes 또는 xclock을 시작하여이 작업을 시도해보십시오.

멋지지만 여전히 또 다른 문제가 내게 다가 왔지만 지금은 해결할 방법이 없습니다. 당신처럼 원격에서 직접 X 응용 프로그램을 시작하려고하면 :

[email protected]:~$ ssh -X servername xeyes 

X11 connection rejected because of wrong authentication. 
X11 connection rejected because of wrong authentication. 
X11 connection rejected because of wrong authentication. 
X11 connection rejected because of wrong authentication. 
Error: Can't open display: localhost:11.0 

당신이 그것을 구글 경우 답변이 많이 있기 때문에 이것은, 흥미로운 오류입니다,하지만 지금은 상황 자체가 그 가정에 이르게하는 bash가로드되고 빠질 때 다른 것이 있습니다. 내가 가정하는 유일한 것은 XAUTHORITY 변수를 설정하는 .profile에있는 라인이지만, 쉘을로드하지 않고 어떻게 설정해야합니까? 기본 위치 (~/.Xauthority)에 .Xauthority 파일이있는 사용자가있는 경우 왜 작동합니까?

3

내가하는 방법은 을 ~/.ssh/environment에 설정하는 것이지만 /etc/ssh/sshd_configPermitUserEnvironment yes으로 변경해야합니다.

/tmp은 각 컴퓨터에 로컬로 유지되므로 사용합니다. NFS상의 홈 디렉토리가 병목 현상을 일으키고 여러 원격 호스트에서 여러 응용 프로그램을 동시에 시작하면 실패 할 수있는 경쟁 조건이 발생합니다.

관련 문제