서버는 인증을 위해 키를 요구하지 않습니다

서버는 인증을 위해 키를 요구하지 않습니다

ssh키만 허용하도록(따라서 비밀번호 요청을 비활성화하도록) 서버를 구성하려고 합니다 .

PuTTY(Windows)를 사용하여 공개 키와 개인 키를 생성했습니다. 현재 루트와 amministratore라는 두 명의 사용자가 있습니다. 나는 루트가 ssh를 사용하여 로그인할 수 있는 것을 원하지 않고 amministratore만 사용하고 싶습니다.

지금까지 수정하고 완료한 내용은 다음과 같습니다.

  1. /etc/ssh/sshd_config- 바라보다 https://pastebin.com/hp0EQ5hG

  2. root@autoapi:~# ls -ld ~/.ssh
     
    drwx------ 2 amministratore amministratore 4096 5월 5일, 16:22 /home/amministratore/.ssh
  3. amministratore@autoapi:~/.ssh$ ls -l
     
    총 4개
    -rw-r--r-- 1 amministratore amministratore 398 5월 5일, 16:08 authenticate_keys
  4. root@autoapi:~/.ssh# ls
    인증 키
  5. 물론 중간에 있는 문자는 삭제했습니다.

    root@autoapi:~/.ssh# catauthorized_keys
    ssh-rsa AAAA.....KKQ== rsa-key-20190504

내가 무엇을 잊었나요?

답변1

SSH를 사용하여 연결하면 클라이언트는 먼저 서버가 허용할 수 있는 내용을 확인합니다. 즉, 특정 키가 허용되는지 묻는 것입니다.앞으로실제로 로그인을 시도합니다. 즉, 특정 키가 허용되지 않으면 클라이언트는 해당 키를 사용하려고 시도하지도 않습니다.

귀하의 증거에 따르면 가장 가능성이 높은 시나리오는 authorized_keys파일이 공개적으로 읽을 수 있도록 설정되어 있고 구성에서 기본값을 지정하는 것입니다 # StrictModes yes. 또한 이를 지정 # PasswordAuthentication yes하므로 서버에서 키 인증을 거부하고 대신 비밀번호를 입력하라는 메시지가 표시됩니다. 이 문제를 해결하려면 두 가지 사항을 변경해야 합니다.

1 권한 변경 authorized_keys:

chmod go-rwx ~/.ssh/authorized_keys

2 비밀번호 확인 비활성화 /etc/ssh/sshd_config:

PasswordAuthentication no

답변2

루트 로그인을 허용하지 않도록 구성을 올바르게 설정했습니다.

authorized_keysamministratore 파일의 권한을 600으로 설정 해야 할 것 같습니다 .

관련 정보