Когда я пытаюсь, ssh [IP]
openssh предупреждает Could not create directory '/home/local/[my username]/.ssh'
.
У меня есть каталог .ssh
по другому пути, в моем фактическом домашнем каталоге, в /home/[myusername]/.ssh
.
Почему openssh добавляет local
к этому домашнему пути? Этого пути не существует. Я на Ubuntu 16.04, мой $HOME
установлен правильно, то есть /home/[my username]
.
Я не могу найти, где openssh настроен даже на поиск этого «локального» пути. Я искал local
под /etc/ssh/
, который ничего не вернул.
Обновление:
getent passwd $USER
показывает неправильный домашний путь с «локальным» в пути. По-видимому, openssh использует домашний путь в качестве вывода этой команды вместо переменной среды $HOME
для поиска домашнего каталога. Я не могу просто отредактировать /etc/passwd
, так как $USER поступает из LDAP. Не уверен, что мой ИТ-отдел может редактировать мой домашний путь в LDAP, есть ли способ указать openssh, какой домашний путь использовать, т. е. $HOME, а не getent passwd $USER
?
getent passwd $USER
показывает, что ваш домашний каталог не существует, у вас проблема с конфигурацией системы. Вам нужно поговорить со своим системным администратором (администраторами) о его исправлении, либо путем исправления данных LDAP, либо, возможно, путем создания/home/local/username
в качестве символической ссылки на ваш фактический домашний каталог. Для ssh разумно предположить, что информация о пользователе системы верна; если он не смотрит на$HOME
, вероятно, нет обходного пути. Кроме того, это не совсем вопрос программирования; вероятно, было бы лучше для ошибки сервера. - person Keith Thompson   schedule 20.10.2020