인스턴스 생성시 .pem 파일이없는 경우 Amazon EC2 서버 인스턴스에 SSH로 연결할 수 있습니까?


10

가동중인 일부 Amazon EC2 서버로 작업 중이므로 서버에 SSH를 연결해야합니다. 서버를 처음 설정할 때 생성 된 키가 없습니다 (다른 사람이 여기에 오기 전에 오래 전에 키를 냈습니다). 키 파일 없이도 서버에 액세스 할 수 있습니까?

FWIW EC2 대시 보드에서 새 키 페어를 생성하는 것을 포함하여 지금까지 SSH에 많은 것들을 시도했지만 아무것도 작동하지 않는 것 같습니다. 이 아마존 AWS 지원 포스트이 대답은 내 현재 서버의 AMI를 만든 다음 완전히 새로운 EC2 서버 인스턴스의 인스턴스를 사용하려는 경우가 아니면 내가 운이있어 것을 나타내는 것 (다만 생성 된 .PEM 파일을 얻을 수 있습니다 그 때 당시). 이 시점에서 상자에 들어갈 수있는 유일한 방법입니까?!

답변:


26

한마디로 : 그렇습니다.하지만 약간의 노력 없이는 할 수 없습니다.

다음을 수행해야합니다.

(이 단계에서는 연결에 문제가있는 시스템을 server-01이라고합니다.)

먼저,이 단계를 시작하기 전에 서버의 스냅 샷을 작성하십시오.

  1. 새로운 임시 인스턴스를 시작하십시오. 그것을 server-02라고 부릅니다.
  2. server-01을 중지하십시오. 종료하지 말고 중지하십시오.
  3. /server-01에서 루트 ( ) EBS 볼륨을 분리하고 예를 들어 server-02에 연결하십시오 /dev/sdb.
  4. server-02에 로그인하고 다음을 실행하십시오 $ mkdir /mnt/temp && mount /dev/sdb /mnt/temp.. 이것은 (임시) server-02 내에 server-01의 루트 파티션을 마운트합니다.
  5. 이제 다음을 수행 할 수 있어야합니다. $ vi /home/<user>/.ssh/authorized_keys공개 키에 복사 / 붙여 넣기. 완료되면 파일을 저장하고 닫습니다.
  6. $ cd / && umount /mnt/tempserver-02에서 server-01의 루트 파티션을 마운트 해제 하려면 다음 을 실행하십시오 .
  7. 이제 서버 -02에서 해당 볼륨을 연결 해제하고 다시 server-01에 연결 한 다음 server-01을 시작하십시오. 시작되면 다시 ssh 할 수 있어야합니다.

2
이 훌륭한 답변에 추가하기 위해 명령 줄에서 수행하는이 블로그 게시물을 찾았습니다. alestic.com/2011/02/ec2-fix-ebs-root
Eric

0

누군가가 EEAA 의 답변을 시도하기 전에 팁 ,

구성을 저장하기 위해 iptables save또는 iptables-save명령을 실행하지 않은 경우 서버를 다시 시작하십시오. AskUbuntu 에서이 답변을 인용 iptables하면 구성 파일에 명시 적으로 저장하지 않으면 RAM 자체에 구성 을 저장 한다는 것을 알았습니다 .

EC2 인스턴스는 EC2 대시 보드에서 쉽게 재부팅하거나 aws-cli


음, 여기에 실수로 게시 된 다른 질문에 대한 답변처럼 보입니다. 이 질문에는 방화벽 / iptable에 관한 것이 없습니다.
kubanczyk

나쁜 점은,이 답변은 모든 IP 주소가 차단 된 경우 모든 트래픽이 서버에 차단 될 때입니다. 제거해야하는지 알려주세요.
retr0
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.