2012-03-16 5 views
12

키가 제대로 ~/스푸핑/authorized_keys에레드햇 6/오라클 리눅스 6

그러나 SSH는 암호를 입력하라는 메시지가 계속해서에 배포 SSH를 통해 키 인증을 허용하지 않습니다.

+1

검사는/var/log/공개 키가 인증에 실패하면이 정보가됩니다 고정합니다. 대부분의 파일에는 ~/.ssh에서 잘못된 읽기/쓰기 권한이 있습니다. – mguymon

+0

내 경우 파마는 괜찮 았어. 그것은 SELinux와 관련이 있습니다. 아래를보십시오 –

답변

28

몇 가지 문제, 대부분의 권한 -뿐만 아니라 다음 스크립트는, 그들 모두를 수정하여 일치하는 사용자 ID와 그룹과 <user>:<group>를 교체하십시오해야 6

레드햇에 SELinux에 관련된

chown -R <user>:<group> ~/.ssh 
chmod 700 ~/.ssh 
chmod 600 ~/.ssh/* 
restorecon -R -v ~/.ssh 
+3

보호 된 디렉토리 안에 있더라도 파일 권한을 월드 가독성으로 변경해서는 안됩니다. 'restorecon -R -v $ HOME/.ssh'이 저의 트릭입니다 – feniix

+0

예, 소유자 액세스 권한 만 있어야합니다. 내 rhel6 상자에서 여전히 600으로 작동 – feniix

+0

당신은 내 제안이 나쁜 것을 의미합니까? 파일에 대해 600 자로 응답을 편집 한 것을 볼 수 있기 때문입니다. – feniix

1

위의 대답은 꽤 좋은, 나는 덧붙였다 & 제안. ssh 키 인증의 경우 홈 디렉토리 사용 권한이 rwxr-x보다 허용되지 않으므로 추가 사항은 아래 2 행에 나와 있습니다.

cd ~ 
chmod g-w,o-rwx . 
chmod 700 .ssh 
cd .ssh 
chmod 600 * 
chmod 644 authorized_keys 
chmod 644 known_hosts 
chmod 644 config 
restorecon -R -v ../.ssh 

테스트 할 때 -vv 옵션을 사용하는 것이 좋습니다.

+0

아마도''u-rwx''가 아니라''o-rwx''를 의미 할 것입니다. :) – darkk

+0

좋은 캐치! chmod/chown 명령에 'u'및 'o'와 함께 반복되는 니모닉 문제가 있습니다. 'o'는 'owner'가 아닌 'other'입니다! – nortally

5

나는 루트 계정의 대부분의 리눅스 변형 작업에 위의 변경 사항에 동의합니다. Red Hat 6.3에서 DSA 인증을 사용하기 위해 postgres 사용자 계정을 얻으려는 데 문제가있었습니다. (6.3 VirtualBox에서 실행 중)

기본 selinux 사용 권한이 잘못되었을 수 있습니다. 이 경우 Restorecon는 도움이되지 않습니다. 이 문제의이 인스턴스를 해결

chcon -R -t ssh_home_t .ssh 

:

(After restorecon) 
drwx------. postgres postgres unconfined_u:object_r:var_lib_t:s0 .ssh 

나는 이것을 해결했습니다.

+0

나는이 대답을 위해 3 일 동안 찾고 있었다! 그것은 내가 파일에 SELinux 컨텍스트를 발견 한 승인 된 키 파일에 stat를 실행하기 전까지는 아니 었습니다. 필자는 다른 사용자를 위해 인증 된 키 파일과 비교하여 차이점을 주목했습니다! 고마워, 그렉! – BamaPookie

+0

내가 발견 한 또 하나의 요점 :이 .ssh 디렉토리에서 restorecon을 실행하면 chcon 명령으로 변경 한 내용이 손실됩니다. 또한 파일 시스템 레이블에 컨텍스트를 제대로 다시 적용 할 정책을 추가해야합니다. 나는 semanage fcontext -a -t ssh_home_t "/path/to/service/home/.ssh(/.*)?"명령으로이 작업을 수행했습니다. (전체 경로를 사용해야합니다.) – BamaPookie

+1

수정 된 명령 : semanage fcontext -a -t ssh_home_t "/path/to/service/home/\.ssh(/.*)?" – BamaPookie

1

나는 또한이 같은 문제가 있었는데, 위의 제안 된 해결책은 나를 위해 사건을 해결하지 못했습니다. ~/스푸핑 디렉토리가 600해야 사용자에// var에/로그 파일의

  • 권한을 보안 및 파일은 다음과 같아야합니다

    1. 확인 오류의 가능 자세한 내용은 대상 시스템의 로그 파일을 다음과 같이 요약 설명이 함께 abowe 사용자 즉의 홈 디렉토리의
    2. 권한 : "그룹 사용자"700이어야한다 : "그룹 사용자"~/스푸핑 디렉토리의
    3. 권한과 소유 소유. "~"(= "~/.ssh/..")은 755 여야합니다. 사용 권한이 f.ex 775 인 경우 시스템에서 ssh 키 자동 인증이 실패했습니다.

    BR 브루노

  • +0

    이 명령으로 케이스가 해결 되었습니까? 아니면 그냥 편집입니까? –