$ ssh [email protected]
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
Masz pojęcie, dlaczego ssh nie używa zmiennej środowiskowej $ HOME, gdy próbuje zlokalizować ~ / .ssh?
(edycja: poprawione formatowanie)
HOME
do%USERPROFIEL%
zmiennych środowiskowych przed zainstalowaniu Cygwin. Więc ... / home / <nazwa_użytkownika> nie została utworzona (/etc/passwd cannot be found
). I nie można użyć klucza ssh w% USERPROFILE%.db_home: /%H
napraw problem idealnie. Wielkie dzięki!W pliku /etc/nsswitch.conf:
Zobacz ustawienie db_home . To mówi Cygwin, aby po prostu używał
%USERPROFILE%
katalogu Windows jako Cygwin $ HOME.Jest to konieczne, jeśli na przykład chcesz współdzielić te same klucze SSH między git (GitHub Enterprise) i SSH w różnych lokalnych systemach Unix / Linux.
Ustawienie
%HOME%
na poziomie systemu operacyjnego nie działało (nawet jeśli$HOME
bash poprawnie odzwierciedla ustawienie).Z pierwotnego pytania widać, że SSH próbuje zaktualizować katalog domowy Windows, którym jest starsza wersja Vidara
C:\Documents and Settings\vidar kongsli
. W obecnych wersjach (chyba 7), odpowiednikiem jestC:\Users\%USERNAME%
(lub, jeśli Windows nie jest zainstalowany na C :,%SystemDrive%\Users\%USERNAME%
).źródło
Czy zmienna jest
HOME
eksportowana? Spróbuj:export HOME
potemssh
jeszcze raz.źródło
Ustaw
db_home
w/etc/nsswitch.conf
celu drodze do domu. Jest to metoda zalecana przez MSYS2.Działa
HOME
także dodanie zmiennej środowiskowej .Git-for-Windows zawiera
env
wdb_home
, który powinien odczytaćHOME
zmienną bash, jednak nie jest to wiarygodne .źródło
db_home: windows cygwin desc