CentOS는 공개 키를 무시합니다 키와 연결하려고하는데 서버가 공개 키

SSH를 사용하여 자신의 CentOS 서버에 연결하려고합니다. 암호로 잘 연결할 수 있습니다. 공개 키와 연결하려고하는데 서버가 공개 키 인증을 시도하지 않습니다. CentOS 위키 에서이 페이지의 모든 지시 사항을 따르고 다음 사항을 확인했습니다.

  • CentOS 6.0 이상을 실행하고 있습니다

  • 내 sshd_config에는 다음이 있습니다.

    PermitRootLogin no
    PubkeyAuthentication Yes
    RSAAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    
  • 클라이언트의 홈 디렉토리에있는 .ssh / 폴더에 개인 키를 작성했습니다

  • 공개 키의 전체 텍스트 (로 생성 ssh-keygen)는 서버의 홈 디렉토리에있는 .ssh / authorized_keys 파일에서 한 줄을 차지합니다.
  • 클라이언트와 서버 모두에 다음 권한 모드가 설정되어 있습니다.

    chmod 700 .ssh
    chmod 600 .ssh/*
    


답변

CentOS 웹 사이트 의이 문제 보고서 에 따르면 이는 SELinux의 업스트림 “기능”때문입니다. SELinux가 적용되는 경우 서버가 pubkey 인증을 사용하지 못하게됩니다. 가까운 시일 내에이 동작이 변경 될 것이라는 징후는 없습니다. 이 문제가 자신에게 적용되는지 확인하려면 sestatus“현재 모드”를로보고하십시오 enforcing.

두 가지 해결 방법을 알고 있습니다.

  • SELinux를 허용 모드로 설정할 수 있습니다. setenforce 0정책을 즉시 변경하려면 입력 한 다음을 열고 /etc/selinux/config확인하십시오 SELINUX=permissive.
  • 파일을 올바른 보안 컨텍스트로 복원하십시오.

    restorecon -R -v ~$USER/.ssh
    

답변