답변:
공개 키 인증이 작동하지 않는 경우 : 서버 측에서 홈 디렉토리 ( ~
), ~/.ssh
디렉토리 및 ~/.ssh/authorized_keys
파일이 모두 소유자 만 쓸 수 있는지 확인하십시오 . 특히, 사용자가 그룹에 혼자있는 경우에도 그룹에 의해 쓰기 가능 권한이 없어야합니다. chmod 755
또는 chmod 700
괜찮습니다 chmod 770
.
문제가있을 때 확인해야 할 사항 :
ssh -vvv
많은 디버깅 출력을 보려면 실행 하십시오. ssh에 연결할 수없는 이유를 묻는 질문을 게시 할 경우이 출력을 포함 시키십시오 (호스트 및 사용자 이름을 익명화 할 수 있음)./var/log/daemon.log
하거나 /var/log/auth.log
또는 유사한.authorized_keys
그룹에 의해 쓰기 가능하지 않아야합니까? 보안 문제 때문에 SSH가이를 거부합니까?
authorized_keys
자신의 키를 추가하여 계정에 로그인 할 수 있습니다. 따라서 사용자 만 허용해야합니다. (그룹에 다른 사용자가없는 경우 파일 그룹 쓰기 가능 파일이 실제로 안전하지만 그룹 구성원이 네트워크 데이터베이스에서 올 수있는 경우 안정적으로 감지하기가 어렵습니다.)
대상의 홈 디렉토리는 755 drwxr-xr-x
입니다. 그룹 쓰기 가능으로 변경 775 drwxrwxr-x
하면 암호가없는 설정이 중단되었습니다.
권한이 올 바르고 재전송 된 키를 확인한 후에도 여전히 작동하지 않습니다.
그런 다음 이전에 수행하지 않았으며 다른 사람이 언급하지 않은 내용을 발견했습니다.
sshfs와 함께 -o allow_other를 사용할 수 없습니다 (fuse.conf에서 옵션 사용 가능)
활성화 후 sudo없이 sshfs 명령을 실행하면 모두 완벽하게 작동했습니다.
RHEL / CentOS를 가정 newuser
하고 사용자 가 ssh하려는 원격 서버에 대한 관리자 액세스 권한이 있다고 가정합니다 .
newuser's
기존을 확보 id_rsa.pub
하고 준비하십시오.
다음 단계를 수행하십시오.
useradd newuser
mkdir /home/newuser/.ssh
vi /home/newuser/.ssh/authorized_keys
# copy newuser's id_rsa.pub into authorized_keys and save
chmod 640 /home/newuser/.ssh/authorized_keys
chmod 700 /home/newuser/.ssh/
chmod 700 /home/newuser/
chown newuser:newuser -R /home/newuser/
이 newuser
로그인을 시도합니다.