-Y를 사용하여 ssh를 실행하면 "shell-init: 현재 디렉터리 검색 중 오류 발생: getcwd: 상위 디렉터리에 액세스할 수 없습니다..."가 발생합니다.

-Y를 사용하여 ssh를 실행하면 "shell-init: 현재 디렉터리 검색 중 오류 발생: getcwd: 상위 디렉터리에 액세스할 수 없습니다..."가 발생합니다.

다음을 사용하여 일반 계정에서 X 애플리케이션 sudo를 실행했습니다.

mylappy$ ssh -Y [email protected]
    [email protected]'s password:
[me@myhost ~]$ sudo su - 
[root@myhost ~]# su - me -c 'xauth list' |\
     grep `echo $DISPLAY |\
         cut -d ':' -f 2 |\
         cut -d '.' -f 1 |\
         sed -e s/^/:/`  |\
     xargs -n 3 xauth add

이제 -Y 플래그를 사용하여 SSH 로그인을 시도할 때마다 이 오류가 발생합니다.

mylappy$ ssh -Y [email protected]
[email protected]'s password: 
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
                                                                                                                   shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
                                                        shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
                                                                                                                                                                           Last login: Fri Apr 17 17:43:14 2015 from my.isp.com

분명히 이 애플리케이션을 루트로 실행하면 루트와 관련되어 있기 때문에 후속 SSH 세션이 me실행할 수 없는 어딘가에 무언가가 기록됩니다.

~/.gnome과 ~에 포함된 의심스러운 모든 항목을 청소했습니다. nuke.Xauthority.

이 오류가 발생하는지 확인하기 위해 /etc/profile, /etc/bashrc, ~/.bashrc, ~/.bash_profile을 실행해 보았습니다. 아니요.

[me@myhost ~]$ . /etc/profile           
[me@myhost ~]$ . /etc/bashrc
[me@myhost ~]$ . ~/.bash_profile 
[me@myhost ~]$ . ~/.bashrc

ssh -Y가 이 오류를 일으킬 수 있는 작업을 수행하는 다른 곳은 어디입니까?

이는 -Y 플래그 없이는 발생하지 않습니다.

답변1

sshd 맨페이지에서:

~/.ssh/rc가 존재하고 sshd_config(5) PermitUserRC 옵션이 설정되어 있으면 이를 실행하고, 그렇지 않으면 /etc/ssh/sshrc가 존재하면 이를 실행하고, 그렇지 않으면 xauth를 실행하십시오. "rc" 파일에는 X11 인증 프로토콜과 표준 입력 쿠키가 제공됩니다. 아래 SSHRC를 참조하세요.

관련 정보