Я пытаюсь запустить систему (Hadoop, но это не имеет большого значения для этого вопроса), и мне нужно иметь возможность ssh на localhost. Я делаю это в окнах с помощью cygwin. Служба 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 существует, как и должна, и доступна после входа в систему по ssh.
Любые указатели на то, откуда ssh получит имя пустой папки? (возможно, какая-то конфигурация, о которой я не знаю?).
Заранее спасибо!
У вашего пользователя есть домашний каталог? Вы можете проверить echo $HOME
и grep user /etc/passwd
, первый повторяет каталог пользователя, а grep ищет домашний каталог, хранящийся в файле паролей.
Если окажется, что у вашего пользователя нет Home
каталог установлен в passwd
, затем выполняя usermod -d /some/directory user
принудительно внесет изменение, и пользователь войдет в этот каталог.
Также обратите внимание, что, поскольку ваш первоначальный дом был настроен на /tmp
, могут быть некоторые файлы пользовательских настроек, которые потребуется перенести в новый каталог (например, .ssh
например).