我试图启动一个系统(Hadoop,但这对于这个问题应该没有太大的关系),并且需要能够SSH到本地主机。 我用cygwin在windows上做这个。 cygwin的SSHD服务正在运行,而ssh的localhost工作正如ssh username @ localhost一样。 但是,当我这样做时,它说:
Could not chdir to home directory : No such file or directory mkdir: cannot create directory `': No such file or directory could not be created. Setting HOME to /tmp.
不知怎的,它试图chdir到一个空名称的目录,失败。 但是,我不明白为什么会那样做。 / home / username文件夹就像它应该存在一样,在通过sshlogin后可以访问。
任何指针上的ssh将获得空文件夹的名字? (有些configuration我可能不知道?)。
提前致谢!
你的用户有一个主目录吗? 您可以通过echo $HOME和grep user /etc/passwd来检查,前者回显用户的目录,grep则查看存储在密码文件中的主目录。
如果事实certificate你的用户在passwd中没有设置Home目录,那么做一个usermod -d /some/directory user将会强制这个改变,然后用户将login到这个目录中。
另外请注意,由于您的原始设置为/tmp ,因此可能会有一些用户设置文件需要转移到新目录(例如.ssh )。