ssh 키 페어에서 .pem 파일을 얻는 방법은 무엇입니까? 사용하여 키 페어를

ssh-keygen을 사용하여 키 페어를 만들고 두 개의 클래식 id_rsa 및 id_rsa.pub를 얻습니다.

퍼블릭 키를 AWS EC2 계정으로 가져 왔습니다.

이제 Windows 인스턴스를 생성하고 해당 인스턴스 비밀번호를 해독하기 위해 AWS 콘솔에서 .pem 파일을 요청합니다. 두 개의 id_rsa 및 id_rsa.pub 파일에서 해당 .pem 파일을 얻는 방법은 무엇입니까?



답변

에 따르면 이 명령을 사용할 수 있습니다 :

ssh-keygen -f id_rsa -e -m pem

공개 키가 OpenSSL 호환 형식으로 변환 됩니다. 귀하의 개인 키를 PEM 형식으로 이미와 (마이클 햄튼이 명시된 바와 같이) 그대로 사용할 수있다.

AWS가 SSH 키와 다른 PEM 형식 의 (X.509) 인증서 를 요청하지 않는지 다시 확인하십시오 .


답변

ssh-keygen.pem 형식으로 키를 내보내는 데 사용 했습니다.

ssh-keygen -f id_rsa.pub -m 'PEM' -e > id_rsa.pem

그런 다음 .pem필요에 따라 간단히 키를 복사하십시오 .

참고로 :

  • -f id_rsa.pub부분은 읽을 입력 파일을 나타냅니다.
  • -m 'PEM PEM 파일 형식을 나타냅니다
  • -e옵션은 출력을 내보낼 것을 나타냅니다

답변

id_rsa Windows EC2 인스턴스 암호를 해독하는 데 사용해야하는 파일이지만 붙여 넣은 파일이 문구로 보호되지 않아야합니다.

일시적으로 보호되지 않은 id_rsa파일을 얻는 문제 를 다음과 같이 해결했습니다.

$ openssl rsa -in ~/.ssh/id_rsa -out tmp_file.pem

답변

처음에는을 사용할 때 ssh-keygenAWS EC2와 호환되는 공개 키를 생성 할 수 있었지만 호환되는 개인 키 생성에 문제가있었습니다. 다음은 AWS EC2와 호환되는 퍼블릭 및 프라이빗 키 페어를 모두 생성합니다.

ssh-keygen -P "" -t rsa -b 4096 -m pem -f my-key-pair

각 매개 변수에 대한 정보는 다음과 같습니다.

  • -P : 비밀번호 문구입니다. 의도적으로 비워 둡니다.
  • -t : 작성할 키 유형을 지정합니다. AWS EC2 키 페어에는 RSA가 필요합니다. 이것이 만들어진 공개 키와 관련된 것은 내 경험입니다.
  • -b : 키의 비트 수를 지정합니다. 지원되는 길이는 1024, 2048 및 4096입니다. EC2 Instance Connect API를 사용하는 동안 SSH를 사용하여 연결하는 경우 지원되는 길이는 2048 및 4096입니다.
  • -m : 키 생성을위한 키 형식을 지정합니다. 지원되는 개인 키 유형을 생성 할 때“PEM”형식을 설정하면 키가 레거시 PEM 개인 키 형식으로 저장됩니다. AWS EC2 키 페어에는 레거시 형식이 필요합니다
  • -f : 키 파일의 출력 파일 이름을 지정합니다

자원:

ssh-keygen에 대한 자세한 내용은 https://man.openbsd.org/ssh-keygen.1을 참조하십시오. 

AWS-EC2 키 페어-https:  //docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html


답변

EC2 인스턴스를 시작할 때 키 페어 (또는 없음)를 할당합니다. 나중에 변경할 수 없습니다.

해당 키 페어에서 해당 .pem 파일 만 사용하면 Windows 암호를 해독 할 수 있습니다.

.pem 파일은 키 페어가 생성 될 때 다운로드되었을 것입니다. 다시 얻을 수 없습니다. 당신이 그것을 잃어버린 경우, 당신은 운이 없습니다.

인스턴스가 시작되기 전에 해당 키를 AWS로 가져 와서 인스턴스에 할당하지 않으면 직접 생성 한 .pem 파일을 사용할 수 없습니다.

간단히 말해 .pem 원본 파일이 없으면 암호를 얻을 수 없습니다.

편집 : 질문을 다시 읽은 후 OP가 키를 AWS로 가져 왔습니다.