Windows용 OpenSSH를 사용하여 공개 키를 사용하여 SFTP를 설정하려고 합니다.
내 오류 로그에는 다음이 표시됩니다.
12080 2020-03-20 11:51:02.136 debug3: Failed to open file:C:/Windows/.ssh/authorized_keys error:2
12080 2020-03-20 11:51:02.136 debug1: Could not open authorized keys 'C:\\Windows\\.ssh/authorized_keys': No such file or directory
sshd_config에서 다음과 같이 사용자를 구성했습니다.
Match User testuser
ChrootDirectory E:\Integration\SFTP\TestUser
PasswordAuthentication no
PubkeyAuthentication yes
그렇다면 소프트웨어가 키 파일을 위해 E:\Integration\SFTP\TestUser\.ssh\authorized_keys로 이동하면 안 되나요?
그런 다음 테스트로 authenticate_key 사용자를 c:\Windows..sh 디렉터리에 복사했는데 다음 오류가 발생했습니다.
debug1: trying public key file C:\\Users\\testuser\\.ssh/authorized_keys
debug3: Failed to open file:C:/Users/testuser/.ssh/authorized_keys error:2
debug1: Could not open authorized keys 'C:\\Users\\testuser\\.ssh/authorized_keys': No such file or directory
위 디렉토리에 키를 넣으면 작동했습니다. 그렇다면 ChrootDirectory는 .ssh 파일이 아닌 보내고 받은 파일의 소스에 대해서만 작동합니까? 다음에는 C:\Windows에서 제거해 보겠습니다.
C:\Windows.ssh\authorized_keys 파일을 제거했는데 여전히 작동합니다. 그렇다면 사용자를 찾을 수 없으면 백업 소스로 C:\Windows 디렉터리로 이동하게 될까요?
답변1
실제 사용자 계정으로 로그인하는 대신 사용자 폴더를 수동으로 생성했을 때 "C:\Windows\.ssh/authorized_keys': 해당 파일이나 디렉터리가 없습니다."라는 오류가 발생했습니다.
내 상황은 다음과 같이 해결되었습니다.
- 수동으로 생성된 사용자 폴더 이름 바꾸기/삭제
- 실제 사용자 계정으로 로그인
- .ssh 폴더 및 Authorized_keys -파일 생성/복사
- .ssh -folder 및 Authorized_keys -file의 액세스 권한 확인