동일한 키 쌍을 사용한 SSH 로그인이 동일한 시스템의 한 계정에서는 작동하지만 다른 계정에서는 작동하지 않는 이유는 무엇입니까?

동일한 키 쌍을 사용한 SSH 로그인이 동일한 시스템의 한 계정에서는 작동하지만 다른 계정에서는 작동하지 않는 이유는 무엇입니까?

내 노트북에 RSA 공개/개인 키 쌍이 있습니다. 원격 컴퓨터에는 각각 /home/{A,B}/.ssh/authorized_keys에 공개 키가 있는 두 개의 계정 A와 B가 있습니다. 내 노트북의 ssh-agent에 개인 키를 로드하면 비밀번호 없이 A@remote로 SSH를 통해 연결할 수 있지만 B@remote에서는 비밀번호를 묻는 메시지가 표시됩니다.

내 노트북에는 ~/.ssh/ssh_config가 없습니다. 사용자 A는 아직 비밀번호가 없습니다. B는 그렇습니다. /etc/ssh/ssdh_config를 "PasswordAuthentication no"로 전환하면 사용자 B에 대해 "ssh publickey 거부됨"이 발생합니다.

서버는 OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g가 포함된 Ubuntu 9.10 Karmic에 있습니다. 2007년 10월 19일 노트북은 OpenSSH_5.3p1이 포함된 Ubuntu 10.04입니다.

답변1

손상된 사용자의 $HOME/.ssh 폴더에는 그룹에 대해 "쓰기" 권한이 활성화되어 있는 것으로 나타났습니다. chmod go-rwx $HOME/.ssh문제를 해결했습니다.

답변2

내 경우에는 파일에 대한 권한(@tobym의 답변) 외에도 .ssh/authorized_keys문제 원인은 잠긴 계정이었습니다.

sudo tail -f /var/log/auth.log표시된 서버에서 디버깅

User <account-name> not allowed because account is locked

비밀번호 없는 키 기반 인증만 원했기 때문에 비밀번호를 설정하지 않았기 때문에 계정이 잠겼습니다. 해결책은 다음과 같습니다.

sudo passwd <account-name>

임의의 복잡한 비밀번호를 할당하세요.

관련 정보