처음에는 루트 사용자로만 설치된 우분투 16.04 서버 설치가 있으므로 루트 사용자의 홈 디렉터리는 /root
. 다른 사용자(예: bob)를 추가하면 bob 홈 디렉터리가 /home/
예상대로 생성됩니다. SSH용 bob에 대한 공개 키를 추가하려면 /home/bob/.ssh/authorized_keys
bob 공개 키를 추가하고 이를 인증된 키 파일에 넣을 수 있습니다. 이것이 지금까지 올바른 접근 방식입니까? 문제는 내가 시도할 때이다.
ssh [email protected]
알겠어요
Permission denied (publickey)
디렉터리 .ssh
권한은 700으로 설정되고 authorized_key
파일 권한은 600으로 설정됩니다. 내 sshd_config
키 파일 경로는 기본값입니다
#AuthorizedKeysFile %h/.ssh/authorized_keys
SSH 로깅을 verbose로 설정했지만 표시만 표시됩니다.
Failed publickey for....
내가 무엇을 잘못할 수 있었나요? 단지 /root/.ssh
키 파일을 찾고 있는 걸까요 ?
답변1
sshd_config 파일을 기반으로 사용하면 서버가 올바른 위치(즉)를 찾고 있는 것입니다.ssh [email protected]
/home/bob/.ssh/authorized_keys
그러나 귀하의 설명으로는 authenticate_keys 파일에 붙여넣은 키가 실제로 클라이언트가 ssh로 연결하려는 키와 동일한지 알 수 없습니다. 클라이언트 시스템에서 사용하면 ssh 클라이언트에서 사용하는 공개 키를 Authorized_keys 파일에 수동으로 붙여넣는 대신 서버의 Authorized_keys 파일(사용자 bob용)에 올바르게 추가되도록 할 수 있습니다.ssh-copy-id [email protected]
답변2
올바른 키를 사용하고 있는지 확인하는 것이 첫 번째 단계입니다. 또한 sshd 구성을 확인하여 공개 키 인증이 활성화되어 있는지 확인하세요.
RSAAuthentication yes
PubkeyAuthentication yes
그런 다음 해당 그룹이나 사용자에 속하지 않은 사람이 로그인하는 것을 방지하는 AllowGroups, DenyGroups, AllowUsers 및 DenyUsers와 같은 허용/거부 설정이 있는지 확인하세요. 또 다른 설정은 공개 키 인증이 단독으로 작동하는 것을 방지할 수 있는 "AuthenticationMethods"입니다.