amazon-web-services ㅁㅈㄴ amazon - ec2 인스턴스의 키 쌍 변경





6 Answers

인스턴스가 시작되면 메타 데이터 수준에서 인스턴스와 연결된 키 쌍을 변경할 수 없지만 인스턴스에 연결할 때 사용하는 ssh 키는 변경할 수 있습니다.

대부분의 AMI에는 공개 ssh 키를 다운로드하고 .ssh / authorized_keys 파일에 설치하여 해당 개인 ssh 키를 사용하여 해당 사용자로 ssh 할 수있는 시작 프로세스가 있습니다.

인스턴스에 액세스하기 위해 사용하는 ssh 키를 변경하려면 인스턴스 자체에서 authorized_keys 파일을 편집하고 새 ssh 공개 키로 변환해야합니다.

authorized_keys 파일은 로그인하는 사용자의 홈 디렉토리 아래에있는 .ssh 서브 디렉토리 아래에 있습니다. 실행중인 AMI에 따라 다음 중 하나 일 수 있습니다.

/home/ec2-user/.ssh/authorized_keys
/home/ubuntu/.ssh/authorized_keys
/root/.ssh/authorized_keys

authorized_keys 파일을 편집 한 후에는 파일을 편집하는 데 사용중인 세션에서 연결을 끊기 전에 항상 다른 터미널을 사용하여 인스턴스로 ssh 연결할 수 있는지 확인하십시오. 실수를 저 지르지 않고 인스턴스에서 완전히 벗어나고 싶지는 않습니다.

EC2에서 ssh 키 쌍을 생각하는 동안 Amazon이 키 쌍을 생성하는 대신 EC2에 개인 ssh 공개 키를 업로드하는 것이 좋습니다.

여기에 대해 내가 쓴 기사가있다.

Amazon EC2에 개인용 ssh 키 업로드
http://alestic.com/2010/10/ec2-ssh-keys

이는 실행중인 새 인스턴스에만 적용됩니다.

서버 aws 키페어

AWS 관리 콘솔에서 내 ec2 인스턴스의 키 쌍을 어떻게 변경합니까? 인스턴스를 중지 할 수 있지만 새 키 쌍을 만들 수 있지만 인스턴스의 키 쌍을 수정하는 링크가 표시되지 않습니다.




AWS EC2 지원 지침 :

  1. Pem 로그인 변경
  2. EC2 콘솔로 이동
  3. 네트워크 및 보안에서 키 쌍을 클릭하십시오. 키 쌍 생성을 클릭하십시오.
  4. 새 키 쌍에 이름을 지정하고 .pem 파일을 저장하십시오. 키 쌍의 이름은 인스턴스에 연결하는 데 사용됩니다.
  5. 인스턴스에 대한 SSH 연결을 생성하고 열린 상태로 유지하십시오.
  6. PuttyGen에서 "로드"를 클릭하여 .pem 파일을로드하십시오.
  7. SSH-2 RSA 라디오 버튼을 선택 상태로 유지하십시오. "개인 키 저장"을 클릭하십시오. 팝업 창이 뜨고 "예"를 클릭하십시오.
  8. 공개 키를 생성하려면 "공개 키 저장"을 클릭하십시오. 이것은 현재 인스턴스로 복사 할 공개 키입니다.
  9. 새 키 쌍 이름과 .pub 확장명을 사용하여 공개 키를 저장합니다.
  10. 메모장에서 공개 키 내용을 엽니 다.
  11. 아래 내용을 복사하십시오. "Comment :"imported-openssh-key "와"---- END SSH2 PUBLIC KEY ----
    참고 - 내용을 한 줄로 복사해야합니다 - 모든 새 줄을 삭제하십시오
  12. 연결된 인스턴스에서 vi 도구를 사용하여 authorized_keys 파일을 엽니 다. 다음 명령을 실행하십시오 : vi .ssh / authorized_keys 파일의 원래 공개 키도보아야합니다.
  13. 파일의 커서를 첫 번째 공개 키 내용의 끝으로 이동하십시오. 삽입하려면 "i"를 입력하십시오.
  14. 새 줄에 "ssh-rsa"를 입력하고 공용 키, 공백 및 .pem 파일의 이름 (.pem없이)의 내용을 붙여 넣기 전에 공백을 추가하십시오. 주 - 이전 줄과 같은 형식
  15. Esc 키를 누르고 다음을 입력하십시오. wq!

업데이트 된 authorized_keys 파일을 저장합니다.

이제 새 키 파이를 사용하여 인스턴스에 대한 새 SSH 세션을 열어보십시오.

새 키 쌍을 사용하여 인스턴스로 SSH 할 수 있음을 확인하면 vi .ssh / authorized_key를 수행하고 이전 키를 삭제할 수 있습니다.

Shaggie 발언에 대한 답변 :

AWS 콘솔을 사용하여 볼륨을 분리하는 것보다 인스턴스에 연결할 수없는 경우 (예 : 키가 손상된 경우) ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html ) 볼륨에서 키를 변경하고 이전 인스턴스로 다시 연결하는 것보다 작업 인스턴스에 다시 연결하십시오.




나는이 접근법을 겪었고, 얼마 후 그것을 가능하게 만들었다. 실제 명령이 없기 때문에 힘들었지 만, 알아 냈습니다. 그러나 훨씬 더 쉬운 접근법이 발견되고 곧 테스트되었습니다.

  1. 인스턴스를 AMI로 저장하십시오 (재부팅 여부에 관계없이 다시 부팅하는 것이 좋습니다). 이것은 EBS가 지원하는 경우에만 작동합니다.
  2. 그런 다음이 AMI에서 인스턴스를 시작하고 새 Keyfile을 할당하기 만하면됩니다.
  3. 신축성있는 IP (해당되는 경우)를 새 인스턴스로 이동하면 완료됩니다.



ElasticBeanstalk 플랫폼을 사용하는 경우 다음을 수행하여 키를 변경할 수 있습니다.

  • 탄력있는 콩나무 패널
  • 구성
  • 인스턴스 (톱니 우측 상단)
  • EC2 키 쌍

그러면 현재 인스턴스가 종료되고 선택한 키 / 설정으로 새 인스턴스가 만들어집니다.




가장 간단한 해결책은 다음의 내용을 복사하는 것입니다.

~/.ssh/id_rsa.pub

에서 AWS 인스턴스의 authorized_keys에

~/.ssh/authorized_keys

이렇게하면 ssh 명령에 대한 pem 파일을 지정하지 않고 EC2 인스턴스로 ssh 할 수 있습니다. 다른 모든 키는 연결을 테스트 한 후에 제거 할 수 있습니다.

다른 사람과 공유하기 위해 새 키를 만들어야하는 경우 다음과 같이 할 수 있습니다.

ssh-keygen -t rsa

private key.pem 파일을 생성 할 것이고, 다음과 함께 공개 키를 얻을 수 있습니다 :

ssh-keygen -f private_key.pem -y > public_key.pub

public_key.pub을 (를) 가진 모든 사용자는 다음과 연결할 수 있습니다.

ssh user@host.com -i public_key.pub



아래 단계를 시도해 본 결과 인스턴스를 중지하지 않고 작업했습니다. 내 요구 사항은 - 클라이언트 컴퓨터를 변경했기 때문에 이전 .pem 파일에서 ec2 인스턴스에 로그인 할 수 없었습니다.

  1. 이전 시스템의 이전 .pem 파일을 사용하여 ec2 인스턴스에 로그인하십시오. ~ / .ssh / authorized_keys 열기

해당 파일에 이전 키가 표시됩니다.

  1. ssh-keygen -f YOUR_PEM_FILE.pem -y 키를 생성합니다. 1 단계에서 열었던 ~ / .ssh / authorized_keys에 키를 추가하십시오. 이전 키를 삭제할 필요가 없습니다.

  2. AWS 콘솔에서 새 키 쌍을 만듭니다. 그것을 새로운 기계에 보관하십시오. 이전 pem 파일로 이름을 바꿉니다. 이유는 오래된 pem 파일이 AWS의 ec2 인스턴스와 여전히 연관되어 있습니다.

모두 완료되었습니다.

새 클라이언트 컴퓨터에서 AWS ec2에 로그인 할 수 있습니다.




Related