나는 원격 쉘 사용과 sshfs 설치를 위해 한동안 원격 서버에서 공개 키 인증을 사용해 왔습니다. sshfs 디렉터리를 강제로 마운트 해제한 후 ssh에서 비밀번호를 묻는 메시지를 표시하기 시작했습니다. 로컬 컴퓨터에 대한 언급에서 원격 .ssh/authorized_keys를 지우고 원격 컴퓨터에 대한 로컬 컴퓨터의 참조를 지워 보았습니다. 그런 다음 ssh-copy-id를 반복하면 비밀번호를 묻는 메시지가 표시되고 정상적으로 반환됩니다. 그런데 원격 서버에 SSH를 통해 접속할 때에도 여전히 비밀번호를 묻는 메시지가 표시됩니다. 조금 혼란스럽고 문제가 무엇인지 모르겠습니다. 제안 사항이 있습니까?
답변1
sshd가 $HOME, $HOME/.ssh(두 디렉토리 모두) 및 $HOME/.ssh/authorized_keys에 대한 권한과 관련하여 이상하게 작동합니다.
내 Linux 시스템 중 하나가 내 $HOME 디렉토리에 대한 drwxrwxrwx 권한을 갖게 되었습니다. $HOME 디렉토리의 다른 그룹에 대한 "w" 권한을 제거하지 않는 한 Arch Linux 상자는 공개 키를 사용하여 로그인하지 않습니다.
$HOME 및 $HOME/.ssh/를 그룹 및 기타 그룹에 대해 더 제한적으로 만들어 보세요. 이것이 sshd가 그 일을 하는 것을 허용하지 않는지 확인하십시오.
답변2
다음 권한이 필요합니다.
- 폴더
.ssh
:700 (drwx------)
- 공개 키:
644 (-rw-r--r--)
- 개인 키:
600 (-rw-------)
답변3
나는 또한 최근에이 문제에 직면했습니다.
디렉토리 권한을 수정하여 수정되었습니다 $HOME
. 그러나 단순히 달리는 것만으로는 chmod g-w ~/
문제가 해결되지 않습니다. 이 외에도 다음을 실행하여 디렉터리의 chmod g-w ~/
권한을 수정해야 합니다.others
$HOME
chmod o-wx ~/
함께:
chmod g-w ~/
chmod o-wx ~/
필요한지 확실하지 않으며 o-x
예방 차원에서 실행하고 있습니다.
답변4
권한이 올바르게 설정되면 SSH 에이전트에 개인 키를 추가해 볼 수 있습니다.
시작되지 않은 경우 ssh-agent를 시작합니다.
eval $(ssh-agent)
다음 명령을 사용하여 SSH 에이전트에 개인 키를 추가합니다
ssh-add
(id_rsa_key
개인 키 이름으로 바꿈).ssh-add ~/.ssh/id_rsa_key
ssh
원격 서버에 연결해 보세요 .