以下を使用して、通常のアカウントで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
明らかに、このアプリケーションをrootとして実行すると、rootに関連付けられているため、後続の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認証プロトコルと標準入力Cookieがあります。以下のSHRCCを参照してください。