Ssh

帶有 -Y 的 ssh 導致“shell-init:檢索目前目錄時出錯:getcwd:無法訪問父目錄…”

  • April 18, 2015

我從我的普通帳戶執行了一個 X 應用程序,使用:

mylappy$ ssh -Y me@myhost.com
   me@myhost.com'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 me@myhost.com
me@myhost.com'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

顯然,以 root 身份執行此應用程序在某處寫了一些後續 ssh 會話me無法執行的內容,因為它與 root 相關。

我清理了 ~/.gnome 和任何在 ~ 中看起來可疑的東西。核彈.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 標誌,這不會發生。

從 sshd 手冊頁:

如果 ~/.ssh/rc 存在並且設置了 sshd_config(5) PermitUserRC 選項,執行它;否則,如果 /etc/ssh/sshrc 存在,則執行它;否則執行 xauth。“rc”文件在標準輸入中給出了 X11 身份驗證協議和 cookie。請參閱下面的 SSHRC。

引用自:https://unix.stackexchange.com/questions/196998