Cygwin을 통해 SSH 설치

Cygwin을 통해 SSH 설치

Windows 8이 설치된 노트북이 있습니다. Cygwin64를 통해 이 노트북에서 Windows 2012 서버로 SSH를 설정하려고 합니다.

설명된 단계를 따랐습니다.여기.

그러나 step:을 실행하면 ssh-user-config오류가 발생합니다.

ERROR: There is no home directory set for you in /etc/passwd.<br>
ERROR: Setting $HOME is not sufficient!

내 Cygwin64 설치 폴더에는 내가 로그인한 Windows 사용자에서 복사된 사용자가 있는 디렉토리 홈이 있습니다(이 사용자가 예쁘다고 가정).

또한 파일이 표시되지만 cygwin64/etc/passwd해당 파일에는 내 Windows 사용자(멋진)가 존재하지 않습니다.

내가 보는 유일한 줄은 다음과 같습니다.

[computername]+sshd:*:197610:197121:[computername]\sshd,S-1-5-21-1837826546-2281981055-3577963604-1002:/var/empty:/bin/false

passwd 파일을 수동으로 추가하고 다음을 삽입해 보았습니다.

nifty:*:1:1:/home/nifty:/bin/bash/

나는 또한 다음을 추가해 보았습니다.

[computername]++sshd:*:1:1::/home/swuyts:/bin/bash

인터넷 검색을 할 때 내 마음에 떠오르는 유일한 것은 다음 명령을 실행해 보는 것입니다.

mkpasswd -l -u >> /etc/passwd

나는 이것이 Windows에 존재하는 일부 계정(예: 관리자 그룹, 시스템 계정 및 위 단계에서 생성된 cyg_server)을 추가한다는 것을 알았지만 ssh-user-config에는 도움이 되지 않습니다.

진행 방법을 설명해 줄 수 있는 사람이 있나요?

답변1

이는 일시적인 문제입니다. 스크립트 ssh-user-config를 수정해야 합니다.

"How To Geek" 튜토리얼이 귀하의 경험과 일치하지 않는 이유는 최신 버전의 Cygwin(1.7.34)이 /etc/passwd및를 제거하기 때문입니다. /etc/group결국 발견했듯이 다시 생성될 수 있지만 존재하지 않는 경우 Cygwin DLL은 Windows 기본 사용자/그룹 데이터베이스를 사용합니다.공시 하다존재하는 경우 또는그렇지 않다면.

스크립트는 질문에 대답하기 위해 /etc/passwd콘텐츠를 통해서만 실행할 수 있다는 오래된 가정을 합니다.awk

Cygwin은 최근 Linux에서와 유사하게 작동하여 getent(1)파일, AD 및 SAM 간의 차이점을 추상화하는 새로운 프로그램을 얻었습니다. 스크립트에는 파일을 /etc구문 분석하는 대신 이 도구를 사용하기 위한 패치가 필요합니다 ./etc

Cygwin 메일링 리스트에서 말했듯이,양의 온도 계수!

답변2

setup.exe으로 업데이트하려면 다시 실행해 보세요 openssh-6.7p1-2. 이렇게 하면 문제가 해결됩니다.

또한 문제의 원인( setup.exe패키지를 처음 설치할 때 현재 버전 대신 "이전" 버전 선택)이 해결되었습니다.

관련 정보