$ 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가 ~ / .ssh를 찾을 때 $ HOME 환경 변수를 사용하지 않는 이유는 무엇입니까?
(편집 : 고정 형식)
답변
를보십시오 /etc/passwd
. 항목이 예상 홈 디렉토리와 일치하는지 확인하십시오. 사용자 입력을위한 두 번째에서 마지막 필드입니다.
답변
귀하의 경우 $HOME
변수가 설정되어 있지만, SSH는 그것을 인식하지 못합니다,이 라인을 넣어 /etc/nsswitch.conf
:
db_home: /%H
그러면 / etc / passwd 파일이 없어도 Cygwin 홈 디렉토리가 설정됩니다.
답변
/etc/nsswitch.conf에서 :
db_home: windows
db_home 설정을 참조하십시오 . 이것은 Cygwin에게 Windows %USERPROFILE%
디렉토리를 Cygwin $ HOME으로 사용하도록 지시 합니다.
예를 들어 git (GitHub Enterprise)와 SSH간에 동일한 SSH 키를 다양한 로컬 Unix / Linux 시스템에 공유하려는 경우에 필요합니다.
bash에서 설정을 올바르게 반영 %HOME%
하더라도 OS 수준에서 설정이 작동하지 않았습니다 $HOME
.
원래 질문에서 SSH가 Vidar의 이전 버전의 Windows 인 Windows 홈 디렉토리를 업데이트하려고한다는 것을 알 수 있습니다 C:\Documents and Settings\vidar kongsli
. 현재 버전 (7+, 나는 생각합니다)에서 동등한 것은 C:\Users\%USERNAME%
(또는 Windows가 C :,에 설치되지 않은 경우 %SystemDrive%\Users\%USERNAME%
)입니다.