ssh는 Cygwin에서 잘못된 홈 디렉토리를 사용합니다.


12
$ 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 환경 변수를 사용하지 않는 이유는 무엇입니까?

(편집 : 고정 형식)

ssh  cygwin 

답변:


9

를보십시오 /etc/passwd. 항목이 예상 홈 디렉토리와 일치하는지 확인하십시오. 사용자 입력을위한 두 번째에서 마지막 필드입니다.


4

귀하의 경우 $HOME변수가 설정되어 있지만, SSH는 그것을 인식하지 못합니다,이 라인을 넣어 /etc/nsswitch.conf:

db_home: /%H

그러면 / etc / passwd 파일이 없어도 Cygwin 홈 디렉토리가 설정됩니다.


cygwin을 설치하기 전에 환경 변수를 설정 HOME했습니다 %USERPROFIEL%. 따라서 ... / home / <myusername>이 생성되지 않았습니다 ( /etc/passwd cannot be found). % USERPROFILE %에서 ssh 키를 사용할 수 없습니다. db_home: /%H문제를 완벽하게 해결하십시오. 고마워요!
Marslo

2

/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%)입니다.



0

설정 db_home에서 /etc/nsswitch.conf당신의 가정에 대한 경로. MSYS2에서 권장 하는 방법 입니다.

HOME환경 변수를 추가해도 작동합니다 .

Git-for-Windows에는 envin이 포함되어 있으며 bash 변수를 db_home읽어야 HOME하지만 신뢰할 수없습니다 .


1
어떻게 편집합니까? db_home을 무엇으로 설정 했습니까?
앤드류 Schulman

@AndrewSchulman 홈 디렉토리로 원하는 디렉토리로?
VarunAgw

1
와! 유용한 정보가 많이 있습니다. 편집 @ go2null 주셔서 감사합니다 :)
VarunAgw

이 답변에는 실제로 "권장"링크 버그가 권장하는 내용이 나와 있지 않습니다. 연결된 버그는 다음과 같이 말합니다.db_home: windows cygwin desc
Gordon Gordon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.