EC2 인스턴스에 ssh는 pem 파일을 사용하더라도 비밀번호를 묻습니다. 나는 pem

Windows 컴퓨터에서 pem 파일을 다운로드했으며 퍼티 겐 생성 ppk 파일 (공개 및 개인 키가 있음)을 사용하여 인스턴스에 연결할 수 있습니다. 나는 pem 파일을 리눅스 박스에 복사하고 시도 ssh -i pemfile.pem root@ec2instance.com -v했지만 ssh는 나에게 암호를 요구한다. 디버그 출력 ( -v)은 다음과 같습니다.

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/w/jpgate.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password
root@ec2instance.com's password:

공개 키가 필요하다고 생각합니다. 리눅스에서 공개 키를 어떻게 얻습니까? 모든 튜토리얼에서 내가 필요한 것만 말하는 이유는 무엇 ssh -i key.pem root@instance.com입니까?



답변

어떤 종류의 AMI / Linux 배포판을 사용하고 있습니까?

로그인 root은 허용되지 않을 수 있습니다. 예 : Amazon Linux AMI의 ec2-user경우 대시로 확실하지 않은 사용자로 로그인 해야하며 Ubuntu AMI의 경우 ubuntu사용자가됩니다.


답변

방금 혼자서 해결책을 찾았습니다.
아직 ssh 공개 키 (no id_rsa, id_rsa.pubin ~/.ssh/)를 생성하지 않았 으므로 하나를 생성했습니다.
ssh-keygen -t rsa -C "my@mailaddress.de"

편집 :
잘못된 사용자 이름 인 경우 디버그 인쇄는 질문 에서처럼 보입니다 .


답변

많은 EC2 정보는 사용자 이름이 보통 또는 항상임을 암시합니다 ec2-user. 사실이 아니다. rootCentOS, ubuntuUbuntu 등일 수 있습니다 . 어떤 이유로 든 사용자 이름은 AMI와 함께 문서화되어 있지 않습니다! 매우 자극적입니다. 다른 사용자 이름을 시도해야 할 수도 있습니다.

SSH에서 비밀번호를 묻는 메시지가 표시되면 제공된 사용자 이름이 잘못되었다는 증거가됩니다.


답변

우리는 방금 같은 문제가있었습니다. 범인은 / home 디렉토리에 사용자에 대한 실행 권한이 없다는 것입니다