SSH 서버에서 "authorized_keys는 일반 파일이 아닙니다"라고 말하는 이유는 무엇입니까?

SSH 서버에서 "authorized_keys는 일반 파일이 아닙니다"라고 말하는 이유는 무엇입니까?

비밀번호 인증을 비활성화할 수 있도록 puttygen 생성 키를 사용하여 로그인을 구성하려고 했습니다.

puttygen에서 개인 키를 저장하고 다음과 같이 공개 부분을 .ssh/authorized_keys에 복사했습니다.

ssh-rsa AAAAB3Nza[...]1qRQ==

이것이 sshd_config에서 변경된 내용입니다.

AuthorizedKeysFile .ssh/authorized_keys
UsePAM no

하지만 내 키로 로그인하려고 할 때마다 서버가 이를 거부합니다.

여기에 이미지 설명을 입력하세요.

통나무:

error: key_read: type mismatch: encoding error
sshd[735]: error: key_from_blob: can't read key type
sshd[735]: error: key_read: key_from_blob
User root authorized keys /root/.ssh/authorized_keys is not a regular file

stat /root/.ssh/authorized_keys설명하다:

68 3451018 drw------- 2 root wheel 6903510 512 "Jan 28 18:12:08 2016" "Jan 28 17:40:50 2016" "Jan 28 17:46:22 2016" "Jan 28 17:40:42 2016" 32768 8 0 /root/.ssh/.authorized_keys

FreeBSD 9.3 사용

답변1

Ulrich Schwarz가 지적했듯이 .ssh/authorized_keys일반 파일이어야 합니다. 귀하의 경우에는 디렉토리처럼 보입니다. 디렉터리를 삭제하고 키가 포함된 텍스트 파일을 만들어야 합니다.

답변2

나는 puttygen에 의해 생성된 키가 거의 모든 시도에서 문제가 된다고 생각합니다. 이유와 방법은 잘 모르겠지만 내 Linux 및 기타 이전 UNIX 시스템에서는 생성되는 파일 형식을 허용하지 않습니다.

내 제안은 서버에 있으면 다음 명령을 사용하여 키를 생성하는 것입니다.

ssh-keygen -t rsa 

필요한 경우 암호, 파일 이름 및 위치를 입력합니다. 생성된 공개 키는 인증된 키 파일 끝에 추가됩니다. 개인 키를 PC에 복사(ftp 또는 scp)합니다. puttygen을 열고 import key 옵션을 사용하십시오. Putty 인터페이스에서 새로 가져온 키를 사용하십시오.

이 방법은 항상 나에게 효과적이었습니다.

관련 정보