ฉันสามารถ SSH ไปยังอินสแตนซ์ของเซิร์ฟเวอร์ Amazon EC2 ของฉันได้หรือไม่หากฉันไม่มีไฟล์. pem เมื่อสร้างอินสแตนซ์


10

ฉันทำงานกับเซิร์ฟเวอร์ Amazon EC2 บางตัวที่เปิดใช้งานอยู่และฉันต้องใช้ SSH ในเซิร์ฟเวอร์ ฉันไม่มีคีย์ใด ๆ ที่สร้างขึ้นเมื่อเซิร์ฟเวอร์ถูกตั้งค่าเป็นครั้งแรก (มีคนอื่นทำไม่นานก่อนที่ฉันจะมาที่นี่) ฉันยังสามารถเข้าสู่เซิร์ฟเวอร์โดยไม่มีไฟล์คีย์ได้หรือไม่

FWIW ฉันได้ลองหลายสิ่งหลายอย่างเพื่อ SSH เข้าไปในกล่องจนถึงตอนนี้รวมถึงการสร้างคู่คีย์ใหม่ในแดชบอร์ด EC2 และดูเหมือนว่าจะไม่มีอะไรทำงาน Amazon AWS นี้สนับสนุนการโพสต์และคำตอบนี้ดูเหมือนจะบ่งบอกว่าฉันโชคไม่ดีเว้นแต่ฉันต้องการสร้าง AMI ของเซิร์ฟเวอร์ปัจจุบันของฉันแล้วใช้มันเพื่อสร้างอินสแตนซ์ของเซิร์ฟเวอร์ EC2 ใหม่ทั้งหมด (เพื่อรับไฟล์. pem ที่สร้างขึ้น ในเวลานั้น). นั่นเป็นวิธีเดียวที่ฉันจะเข้าไปในกล่อง ณ จุดนี้ได้!

คำตอบ:


26

ในระยะสั้น: ใช่คุณสามารถ แต่ไม่ได้โดยไม่ต้องทำงาน

คุณจะต้องทำสิ่งต่อไปนี้:

(สำหรับขั้นตอนเหล่านี้สมมติว่าเครื่องที่คุณมีปัญหาในการเชื่อมต่อเรียกว่าเซิร์ฟเวอร์ -01)

ขั้นแรกก่อนเริ่มขั้นตอนเหล่านี้ให้ถ่ายรูปเซิร์ฟเวอร์ของคุณ

  1. เริ่มต้นอินสแตนซ์ใหม่ชั่วคราว เรียกมันว่าเซิร์ฟเวอร์ -02
  2. หยุดเซิร์ฟเวอร์ -01 อย่าหยุดเพียงแค่หยุด
  3. ยกเลิกการแนบราก ( /) ปริมาณ EBS จากเซิร์ฟเวอร์-01 และแนบไปยังเซิร์ฟเวอร์-02 /dev/sdbตามกล่าว
  4. ลงชื่อเข้าใช้เซิร์ฟเวอร์-02 $ mkdir /mnt/temp && mount /dev/sdb /mnt/tempและการทำงาน: นี่จะเมาท์รูทพาร์ติชันของเซิร์ฟเวอร์ -1 ภายใน (ชั่วคราว) เซิร์ฟเวอร์ -02
  5. ตอนนี้คุณควรจะสามารถ: $ vi /home/<user>/.ssh/authorized_keysและคัดลอก / วางในกุญแจสาธารณะของคุณ เมื่อคุณทำเสร็จแล้วให้บันทึกและปิดไฟล์
  6. ตอนนี้เรียกใช้: $ cd / && umount /mnt/tempเพื่อติดตั้งพาร์ติชันรูทของเซิร์ฟเวอร์ -01 จากเซิร์ฟเวอร์ -02
  7. ตอนนี้เพียงแค่ยกเลิกการแนบโวลุ่มนั้นจาก server-02 แนบกลับไปที่ server-01 แล้วเริ่ม server-01 เมื่อมันเริ่มขึ้นคุณควรจะสามารถ ssh อีกครั้ง

2
เพียงเพิ่มคำตอบที่ยอดเยี่ยมนี้ฉันพบโพสต์บล็อกนี้ซึ่งดำเนินการผ่านจากบรรทัดคำสั่ง alestic.com/2011/02/ec2-fix-ebs-root
Eric

0

เพียงแค่ปลายก่อนที่ทุกคนพยายามEEAAคำตอบ 's,

หากคุณยังไม่ได้รันiptables saveหรือiptables-saveคำสั่งเพื่อบันทึกการกำหนดค่าของคุณให้รีสตาร์ทเซิร์ฟเวอร์ เมื่ออ้างถึงคำตอบนี้ในAskUbuntuฉันได้เรียนรู้ว่าiptablesบันทึกการกำหนดค่าของคุณใน RAM ด้วยตัวเองเว้นแต่คุณจะบันทึกลงในไฟล์การกำหนดค่าอย่างชัดเจน

อินสแตนซ์ EC2 สามารถเริ่มระบบใหม่ได้อย่างง่ายดายจากแผงควบคุม EC2 หรือ aws-cli


อืมดูเหมือนว่าคำตอบสำหรับคำถามอื่นที่โพสต์ไว้ที่นี่โดยไม่ตั้งใจ ไม่มีอะไรเกี่ยวกับไฟร์วอลล์ / iptables ในคำถามนี้
kubanczyk

ฉันไม่ดีคำตอบนี้ใช้สำหรับเมื่อการรับส่งข้อมูลทั้งหมดถูกบล็อกไปยังเซิร์ฟเวอร์หากที่อยู่ IP ทั้งหมดถูกบล็อก แจ้งให้เราทราบหากจำเป็นต้องถอดออก
retr0
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.