OPENSSH가 사용자 디렉터리 대신 C:\Windows\.ssh\authorized_keys를 열려고 시도하는 이유는 무엇입니까?

OPENSSH가 사용자 디렉터리 대신 C:\Windows\.ssh\authorized_keys를 열려고 시도하는 이유는 무엇입니까?

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': 해당 파일이나 디렉터리가 없습니다."라는 오류가 발생했습니다.

내 상황은 다음과 같이 해결되었습니다.

  1. 수동으로 생성된 사용자 폴더 이름 바꾸기/삭제
  2. 실제 사용자 계정으로 로그인
  3. .ssh 폴더 및 Authorized_keys -파일 생성/복사
  4. .ssh -folder 및 Authorized_keys -file의 액세스 권한 확인

관련 정보