원격 쉘에서 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
$HOME
chmod 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