내 서버에서 CentOS 5.3을 실행 중입니다. Leopard를 실행하는 Mac을 사용하고 있습니다. 나는 이것에 대한 책임이 무엇인지 모른다.
비밀번호 인증을 통해 서버에 정상적으로 로그온 할 수 있습니다. PKA 설정을위한 모든 단계를 거쳤습니다 ( http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-ssh-beyondshell.html에 설명되어 있음 ). SSH를 사용하므로 공개 키 확인을 거부합니다. 명령 사용
ssh -vvv user@host
(여기서 -vvv는 상세 수준을 최대 수준으로 높입니다) 다음과 같은 관련 결과가 나타납니다.
debug2: key: /Users/me/.ssh/id_dsa (0x123456)
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred keyboard-interactive,password
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
비밀번호를 묻는 메시지가 나타납니다. 내가 문제를 강제하려고하면
ssh -vvv -o PreferredAuthentications=publickey user@host
나는 얻다
debug2: key: /Users/me/.ssh/id_dsa (0x123456)
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred publickey
debug3: authmethod_lookup publickey
debug3: No more authentication methods to try.
따라서 서버가 공개 키 인증 방법을 수락한다고 말하고 SSH 클라이언트가 주장하지만, 나는 반박합니다. (위의 “공개 키 제공 :”행이 눈에 띄지 않게 표시됩니다.) 제안 사항이 있습니까?
답변
Centos 머신에 다음이 있는지 확인하십시오.
RSAAuthentication yes
PubkeyAuthentication yes
sshd_config에서
centos 머신의 ~ / .ssh / 디렉토리에 대한 적절한 권한이 있는지 확인하십시오.
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/*
트릭을해야합니다.
답변
비슷한 문제가 발생했습니다. 원격 PC에서 공개 키 인증을 사용하여 CentOs 6 서버에 로그인 할 수 없습니다. 필자의 경우 문제는 SELinux 관련 문제였습니다. 로그인하려는 사용자의 홈 디렉토리에는 메시지 보안 컨텍스트가 있습니다. restorecon
도구 를 사용 하여이 문제를 해결했습니다 .
restorecon -Rv /home
답변
1- / etc / ssh / sshd_config를 확인하십시오.
RSA 인증 예 Pubkey 인증 예
2- 원격 시스템의 보안 로그를 확인하고 세부 사항 sshd 디먼 오류 로그를 찾으십시오. 예를 들어 내 우분투에서
# grep 'sshd'/ var / log / secure | grep '인증 거부'| 꼬리 -5 8 월 4 일 06:20:22 xxx sshd [16860] : 인증 거부 : / home / xxx 디렉토리에 대한 소유권 또는 모드가 잘못되었습니다 8 월 4 일 06:20:22 xxx sshd [16860] : 인증 거부 : / home / xxx 디렉토리에 대한 소유권 또는 모드가 잘못되었습니다 8 월 4 일 06:21:21 xxx sshd [17028] : 인증 거부 : / home / xxx 디렉토리에 대한 소유권 또는 모드가 잘못되었습니다 8 월 4 일 06:21:21 xxx sshd [17028] : 인증 거부 : / home / xxx 디렉토리에 대한 소유권 또는 모드가 잘못되었습니다 8 월 4 일 06:27:39 xxx sshd [20362] : 인증 거부 : / home / xxx 디렉토리에 대한 소유권 또는 모드가 잘못되었습니다
그런 다음 / home / xxx 디렉토리의 소유권과 모드를 확인하십시오.
chmod 755 / home / xxx
답변
로컬 및 원격 시스템 모두에 대해 권한이 올 바르고 파일 구조 (특히 철자법)가 올바른지 다시 확인하십시오. 당신이 참조하는 URL은 그것들을 모두 나타내지 만, 당신이 일치하는 것을 확인할 가치가 있습니다. 일반적으로 권한은 관련 오류를 발생시킵니다.
CentOS 5.3 상자의 sshd_config 상자가 PubkeyAuthentication 또는 RSAAuthentication을 허용하도록 설정되어 있는지 확인 했습니까?
CentOS 시스템에서 SSH 서버 로그를 확인하십시오. 자세한 정보가 제공 될 수 있습니다. CentOS가 데비안이 수행하는 블랙리스트 ssh 키 검사를 수행하는지 확실하지 않지만 -vvv 출력이 진행되는 한 상대적으로 조용한 ssh 공개 키 거부를 보았지만 로그는 진행 상황을 명확하게 설명했습니다.
답변
알았다! 그것이 클라이언트 측 문제였습니다. (서버 측 문제로 인해 더 유용한 디버그 출력이 생성 될 것이라고 생각합니다.) 저에게 알려지지 않은 이유로 Mac에서는 / etc / ssh_config 파일에 다음 줄이 있습니다.
PubkeyAuthentication = no
나는 그 한 줄을 주석 처리했으며 이제는 모든 것이 잘 작동합니다.
답변
파일 / 디렉토리 모드 외에도 소유권이 올바른지 확인하십시오! 사용자는 자신의 홈 디렉토리 인 .ssh /와 그 안의 파일을 소유해야합니다.
chown -R $user:$user /home/$user
내 ssh 오류를 극복 하기 위해 달려야 했습니다.
답변
또한 키를 자동으로 공급할 수 있는지 확인하십시오. 또는 테스트하지 않을 경우 -i path / to / key를 사용하십시오.