Ssh
帶有 -Y 的 ssh 導致“shell-init:檢索目前目錄時出錯:getcwd:無法訪問父目錄…”
我從我的普通帳戶執行了一個 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。