이 문제에 대한 다른 질문을 살펴봤지만 그 중 어느 것도 나에게 도움이 되지 않았습니다.
Amazon Linux를 실행하는 EC2 인스턴스에 새 사용자를 추가하기 위해 다음을 수행했습니다.
sudo usermod -G git_group rich
sudo mkdir -p /home/rich/.ssh
sudo mkdir /home/rich/.ssh/authorized_keys
sudo chown root:root /home/rich
sudo chown -R rich:rich /home/rich/
sudo chmod 700 /home/rich/.ssh
sudo chmod 700 /home/rich/.ssh/authorized_keys
sudo su rich
cd ~/.ssh
ssh-keygen -a 100 -b 4096 -C "" -E sha256 -o -t rsa
< no passwords >
cp id_rsa.pub ./authorized_keys
원격 시스템에서 sftp를 통해 키를 얻어 /home/my_user/.ssh에 배치했으며 둘 다에 대해 chmod 600 권한이 있는지 확인했습니다.
그런 다음 .ssh/config에 항목을 추가했습니다.
User rich
IdentityFile = ~/.ssh/rich_private_key
내가 시도할 때
ssh -vvv [email protected]
나는 얻다:
No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_1000)
debug2: we did not send a packet, disable method
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/my_user/.ssh/rich_private_key
debug3: sign_and_send_pubkey: RSA xxx
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
내가 무엇을 놓치고 있는지 아시나요? 또한 sshd_config에 PubkeyAuthentication yes를 추가하고 다시 시작했지만 도움이 되지 않은 것 같습니다.
답변1
한 줄에 하나의 키가 있는 파일이 아닌 Authorized_keys를 키가 포함된 디렉터리(잘못된)로 만들었고 이로 인해 문제가 해결되었습니다.