새 Windows 8.1 사용자 계정을 생성할 때 일반적으로 현재 계정을 로그아웃하고 새 사용자로 다시 로그인해야 합니다. 이런 일이 발생하면 Windows는 홈 디렉터리 설정을 시작하고 다른 여러 작업을 수행합니다. (뭔지 모르겠어요!)
하지만 이미 다른 계정을 사용하여 Cygwin과 ssh를 설치했기 때문에 일반 Windows 가비지 폴더를 모두 포함하지 않고 추가 SSH 전용 계정을 추가하고 싶습니다.
따라서 기본 Windows 명령줄 도구 등을 사용하여 net
사용자 editrights
와 wmic
비밀번호를 추가할 수 있습니다. 그렇다면 작동 중인 Cygwin 사용자가 이 시스템에 SSH로 접속하도록 설정하는 것이 가능합니까?
Cygwin은 일반적으로 Cygwin 셸을 처음 실행할 때 일부 스크립트(어떤 스크립트?)를 시작하는 것을 좋아합니다. 그렇다면 (다른 로컬 계정에서) SSH를 통해 로그인하여 동일한 작업을 어떻게 수행할 수 있습니까?
추신. 이 질문을 작성한 후에는 처음으로 로그인할 때 Windows가 수행하는 작업을 이해하는 것이 중요하다는 점과 (무엇을 하든) 이것이 작동하는 계정에 대해 정말 필요한지 여부를 깨달았습니다.
답변1
(담당자가 있다면 댓글이 될 것입니다)
이것은 일화일 수도 있지만 마지막으로 Cygwin 내에서 OpenSSH를 사용했을 때(아마 2001년) 현재 로그인된 Windows 사용자로만 SSH에 로그인할 수 있었습니다.
답변2
이것은 케이크 조각이었습니다! 그것이 효과가 있을 것이라고는 결코 생각하지 못했습니다. 평소대로 새 Windows 사용자 계정을 만드세요. 단순화를 위해 "xxxx"라고 부르고 관리 권한을 부여하도록 합시다. 그런 다음 관리자 권한으로 실행하여 Cygwin 셸을 엽니다. 다음을 통해 계정 생성을 확인하세요.
net user xxxx
이제 다음을 실행합니다.
mkpasswd.exe -l -u xxxx >>/etc/passwd
net stop sshd
net start sshd
이제 외부 컴퓨터로 이동하여 SSH를 통해 새 사용자 계정에 연결해 보십시오.
ssh -2 xxxx@<local-pc-ip-address>
빵! 당신이 참여하면 Cygwin은 자동으로 홈 디렉토리를 생성하고 "에 대한 모든 뼈대 파일을 복사합니다..bashrc" 등. SSH 파일을 망칠 필요조차 없습니다.
Could not chdir to home directory /home/xxxx: No such file or directory
Copying skeleton files.
These files are for the users to personalise their cygwin experience.
They will never be overwritten nor automatically updated.
`./.bashrc' -> `/home/xxxx//.bashrc'
`./.bash_profile' -> `/home/xxxx//.bash_profile'
`./.inputrc' -> `/home/xxxx//.inputrc'
`./.profile' -> `/home/xxxx//.profile'
추신. 이는 일반 Windows 계정에 이미 작동하는 SSHd를 설정했다고 가정합니다.