ssh 在 Cygwin 中使用了错误的主目录

15 ssh cygwin

$ ssh usaname@login.somehost.no

Could not create directory'/cygdrive/c/Documents and Settings/vidar kongsli/.ssh'.
The authenticity of host 'login.somehost.no (...)' can't be established.
RSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.

$ set | grep HOME

HOME=/cygdrive/d/home/vidar
HOMEDRIVE=C:
HOMEPATH=/cygdrive/d/home/vidar

$ ls ~/.ssh

id_rsa  id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

知道为什么 ssh 在尝试定位 ~/.ssh 时不使用 $HOME 环境变量吗?

(编辑:固定格式)

小智 9

看看/etc/passwd。确保那里的条目与您预期的主目录匹配。它是用户输入的倒数第二个字段。


小智 6

如果您的$HOME变量已设置,但 ssh 无法识别它,请将此行放入/etc/nsswitch.conf

db_home: /%H
Run Code Online (Sandbox Code Playgroud)

这将设置 Cygwin 主目录,而无需 /etc/passwd 文件存在。


Gre*_*ill 0

变量是否HOME导出?尝试:export HOME然后ssh再一次。