다른 사용자로 원격 서버에 대한 비밀번호 없는 인증을 활성화하는 방법은 무엇입니까?

다른 사용자로 원격 서버에 대한 비밀번호 없는 인증을 활성화하는 방법은 무엇입니까?

tom(분명히) 원격 서버에는 존재하지만 로컬 서버에는 존재하지 않기 때문에 원격 서버에 연결하고 있습니다 .

id_rsa.pub로컬 사용자 생성 키를 bob원격 서버에 있는 Tom의 파일 에 복사 했습니다 . authorized_keys하지만 여전히 비밀번호를 묻는 메시지가 나타납니다.

[bob@localserver ~]$ ssh tom@remoteserver

편집 1

완벽함을 위해 키를 다시 생성하여 원격 서버에 복사하기도 했습니다.

ssh-keygen -t rsa
ssh-copy-id -i tom@REMOTESERVER

여기에서 디버그 출력을 참조하세요. SSH 디버깅 세부정보

디버그 출력에서 ​​다음을 발견했습니다. 내 개인 키 파일 id_rsa의 모든 줄(base64 블록?)에 대해 다음 콘텐츠가 존재합니다 .

debug3: key_read: missing whitespace

편집 2:

원격 서버 권한:

drwx------ 2 tom tom 4096 Aug 15 10:59 .
drwx------ 5 tom tom 4096 Aug 15 11:54 ..
-rw-rw-r-- 1 tom tom  810 Aug 15 10:59 authorized_keys
-rwx------ 1 tom tom  109 Aug 14 09:43 config
-rw------- 1 tom tom 1675 Aug  8 14:58 id_rsa
-rw-r--r-- 1 tom tom  404 Aug  8 14:58 id_rsa.pub
-rw-r--r-- 1 tom tom 1217 Aug 10 09:32 known_hosts

로컬 서버 권한:

drwx------ 2 bob bob 4096 Aug 15 11:32 .
drwx------ 7 bob bob 4096 Aug 15 11:32 ..
-rw------- 1 bob bob 1613 Aug 15 11:09 id_rsa
-rw------- 1 bob bob 1675 Aug 15 11:08 id_rsa.bkp
-rw-r--r-- 1 bob bob  405 Aug 15 10:58 id_rsa.pub
-rw-r--r-- 1 bob bob  410 Aug 15 10:59 known_hosts

답변1

출력에는 다음이 ssh -vv tom@remoteserver포함됩니다.

debug1: Offering public key: /home/bob/.ssh/id_rsa

이 시점에서 클라이언트는 개인 키를 찾고 이를 사용하여 인증을 시도합니다. - 그런데 그섬기는 사람그렇게 하지 마십시오. 이유를 찾을 수 있다섬기는 사람통나무.

추측: 파일 권한 문제가 있습니다.

서버에 대한 올바른 권한을 다시 확인하세요 ls -la ~/.ssh. 더 좋은 점은 ssh-copy-id공개 키를 원격 서버에 복사하는 것입니다. 올바른 권한을 처리합니다.

man sshd_config설명하다:

   StrictModes
          Specifies whether sshd(8) should check file modes and ownership  of  the
          user's  files  and  home directory before accepting login.  This is nor‐
          mally desirable  because  novices  sometimes  accidentally  leave  their
          directory  or  files world-writable.  The default is ``yes''.  Note that
          this does not apply to ChrootDirectory, whose permissions and  ownership
          are checked unconditionally.

기본적으로 사용자 자신만이 읽고 쓸 수 있어야 합니다 ~/.ssh.

답변2

원격 호스트의authorized_keys 파일에 권한 600을 사용해 보십시오. 644도 괜찮지만 그룹 및/또는 쓰기 가능해서는 안 됩니다.

유용한 링크:

https://stackoverflow.com/questions/5698665/strange-that-ssh-authorized-keys-will-not-work-if-it-is-a-chmod-of-664

관련 정보