비밀번호 인증을 비활성화할 수 있도록 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 인터페이스에서 새로 가져온 키를 사용하십시오.
이 방법은 항상 나에게 효과적이었습니다.