$ 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
Любая идея, почему ssh не использует переменную среды $ HOME, когда пытается найти ~ / .ssh?
(править: фиксированное форматирование)
Посмотри на /etc/passwd
. Убедитесь, что запись там соответствует вашему ожидаемому домашнему каталогу. Это предпоследнее поле для ввода вашего пользователя.
Если ваш $HOME
переменная установлена, но ssh ее не распознает, поместите эту строку в /etc/nsswitch.conf
:
db_home: /%H
Это установит домашний каталог Cygwin без необходимости существования файла / etc / passwd.
В /etc/nsswitch.conf:
db_home: windows
Видеть Настройка db_home. Это говорит Cygwin просто использовать Windows %USERPROFILE%
каталог как Cygwin $ HOME.
Это необходимо, если, например, вы хотите использовать одни и те же ключи SSH между git (GitHub Enterprise) и SSH для различных локальных систем Unix / Linux.
Настройка %HOME%
на уровне ОС не работало (хотя $HOME
в bash правильно отражает настройку).
Из исходного вопроса видно, что SSH пытается обновить домашний каталог Windows, который в более старой версии Windows Vidar C:\Documents and Settings\vidar kongsli
. В текущих версиях (я думаю, 7+) эквивалент C:\Users\%USERNAME%
(или, если Windows не установлена на C :, %SystemDrive%\Users\%USERNAME%
).
Переменная HOME
экспортируется? Пытаться: export HOME
затем ssh
очередной раз.
Устанавливать db_home
в /etc/nsswitch.conf
к пути к вашему дому. Это метод рекомендуемые пользователя MSYS2.
Добавление HOME
переменная окружения также работает.
Git-for-Windows включает env
в db_home
, который должен прочитать ваш HOME
переменная bash, однако это ненадежный.