ssh는 ssh-copy-id에도 불구하고 비밀번호를 묻습니다. .ssh / authorized_keys를 제거하려고

원격 쉘에서 sshfs 마운트뿐만 아니라 원격 서버에서도 공개 키 인증을 사용하고 있습니다. 내 sshfs 디렉토리를 강제로 삭제 한 후 ssh에서 비밀번호를 입력하라는 메시지가 표시됩니다. 로컬 컴퓨터에 대한 언급에서 원격 .ssh / authorized_keys를 제거하려고 시도했으며 로컬 컴퓨터를 원격 컴퓨터에 대한 참조에서 정리했습니다. 그런 다음 ssh-copy-id를 반복하여 암호를 입력하라는 메시지가 표시되고 정상적으로 돌아 왔습니다. 그러나 원격 서버에 ssh 할 때 여전히 암호를 묻는 메시지가 나타납니다. 문제가 무엇인지에 대해 조금 혼란 스럽습니다. 제안이 있습니까?



답변

sshd는 $ HOME, $ HOME / .ssh (두 디렉토리 모두) 및 $ HOME / .ssh / authorized_keys에 대한 권한에 대해 이상하게됩니다.

내 리눅스 박스 중 하나가 $ HOME 디렉토리에서 drwxrwxrwx 권한으로 끝났습니다. 아치 리눅스 박스는 $ HOME 디렉토리의 다른 그룹에 대한 ‘w’권한을 제거 할 때까지 공개 키를 사용하여 절대 로그인하지 않습니다.

$ HOME 및 $ HOME / .ssh /에 그룹 및 기타에 대해 더 제한적인 권한을 부여하십시오. 그것이 sshd가 그 일을하지 못하게하는지 확인하십시오.


답변

다음과 같은 권한이 필요합니다.

  • .ssh폴더 :700 (drwx------)
  • 공개 키 : 644 (-rw-r--r--)
  • 개인 키 : 600 (-rw-------)

답변

최근 에이 문제가 발생했습니다.

$HOME디렉토리 의 권한을 수정하여 수정되었습니다 . 그러나 단순히 실행 chmod g-w ~/해도 문제가 해결되지 않았습니다. 또한 다음 을 실행 하여 디렉토리에 chmod g-w ~/대한 권한을 수정해야했습니다.others$HOMEchmod o-wx ~/

함께:

chmod g-w ~/
chmod o-wx ~/

o-x필요한지 확실하지 않으며 , 예방 조치로 간단히 실행했습니다.


답변

~ / .ssh 폴더에 대한 권한을 변경하면 Super User SE의이 게시물에 따라 문제가 해결되었습니다 .


답변

병렬 로그인에서도 문제가 발생합니까 (예 : 열린 ssh 세션이있는 동안 sshfs를 마운트하려고 시도하는 경우)? 그렇지 않다면 홈 디렉토리가 암호화되어 있다고 생각합니까? 이 경우 $HOME/.ssh/authorized_keys처음 로그인 한 후 (비밀번호를 사용하여) 원격 시스템에서만 사용할 수 있습니다.

설명 및 필요한 해결 방법은 https://help.ubuntu.com/community/SSH/OpenSSH/Keys# 문제 해결을 확인하십시오 .


답변

나는 이것을 의견으로 게시 할 것이지만 아마도 너무 길 것입니다. 폴더 안의 위치 ssh-copy-id에서 공개 키를 보내려는 시도 를 추가하고 싶었습니다 ./.ssh$HOME

ssh공개 키를 사용하여 루트로 시도 (보안 관련 주석 저장) ssh-copy-id하려는 경우 $HOME변수가 /root일반 사용자의 홈 디렉토리로 설정되는 것 이외의 다른 것으로 설정된 경우 잘못된 공개 키로 로그인을 시도 할 수 있습니다. ) 따라서 루트의 공개 키가 원격 시스템에 설치되어 있지 않으므로 루트 사용자에게 프롬프트가 표시됩니다.

다음 단일 라이너를 사용하여 정확한 공개 키를 지정할 수 있습니다.

pub="$(cat /root/.ssh/id_rsa.pub)"; ssh user@remotehost "echo $pub >> .ssh/authorized_keys; chmod 700 .ssh; chmod 600 .ssh/authorized_keys"

나는이 시나리오를 야생에서 몇 번 (오늘 아침 포함) 만났으며 누군가가 같은 상황에 처한 경우를 대비하여 2 센트를 넣으려고한다고 생각했습니다.


답변

언급 된 다른 기고자들과 마찬가지로 이것은 아마도 권한 문제 일 것입니다.

이를 진단하는 가장 좋은 방법은 디버그 옵션을 켜서 (일반적으로 “-d”옵션) 원격 서버에서 SSH 데몬을 다시 시작하는 것입니다. OpenSSH 데몬 메시지는 매우 명시 적입니다. 예를 들어 다음과 같은 메시지가 표시됩니다.

Authentication refused: bad ownership or modes for directory /some/path