원격 서버를 설정 중입니다. sshd
공개 키만 사용하도록 구성합니다 . 원격 컴퓨터에 동일한 계정을 가진 두 개가 있으므로 .ssh/authorized_keys
동일한 키를 사용하여 로그인할 수 있습니다. 둘 중 하나는 루트이며 시도하면 다음과 같습니다.
ssh -i /path/to/privatekey [email protected]
나는 들어갔다. 문제 없다. 그러나 다른(권한이 없는) 사용자와 함께 시도하면 다음과 같습니다.
ssh -i /path/to/privatekey [email protected]
실패합니다. -v
노출된:
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /path/to/privatekey
debug1: Authentications that can continue: publickey
debug1: Trying private key: /path/to/privatekey
**debug1: key_parse_private_pem: PEM_read_PrivateKey failed**
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/path/to/privatekey':
root@server 로그인이 성공한 후에는 별표가 있는 줄이 나타나지 않습니다. 이것은 또한 ssh-agent
키에 대한 비밀번호를 이미 가지고 있기 때문에 이상합니다. root@server로 로그인하라는 메시지가 표시되지 않습니다. bob@server 로그인이 실패하고 종료되었습니다:
debug1: read PEM private key done: type DSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
권한 등이 /home/bob/.ssh
정확함[단, .ssh 디렉토리에는 실행 비트가 없습니다. 댓글 참조]. 이는 실제로 시스템 업그레이드/재설치이며 구성을 /etc
포함한 이전 백업이 있습니다 . sshd
나는 아무 것도 변경하지 않았습니다(비밀번호 인증을 허용하면 bob이 들어갈 수 있지만). 이것이 이전에 git을 통해 시스템을 사용했던 방법입니다. 따라서 git remote
bob@server를 사용하여 ssh를 통해 입력된 프로젝트 ID가 여러 개 있습니다. , 그리고 그걸 바꾸고 싶지 않아, sshd
예전처럼 기능할 수 없으니까...
답변1
다음 사항을 확인해주세요.
디렉토리의 권한은
.ssh
700입니다. 디렉터리에 들어가려면 해당 디렉터리에 대한 실행 권한이 필요합니다.파일 권한은
authorized_keys
600이어야 합니다.
시스템 관리자로서 저는 이 문제에 직면했습니다.