รีเซ็ตรหัสผ่านเซิร์ฟเวอร์ Linux EC2

Sep 11 2020

ไม่สามารถล็อกอินเข้าสู่เซิร์ฟเวอร์ EC2 ubuntu เนื่องจากปัญหาการอนุญาต

ปัญหา:เซิร์ฟเวอร์ ubuntu EC2 ของฉันมีผู้ใช้ (root & ubuntu) และฉันใช้เพื่อเข้าสู่ระบบ Ubuntu โดยใช้ ssh โดยไม่ได้ตั้งใจฉันได้เปลี่ยนความเป็นเจ้าของโฮมไดเร็กทอรี Ubuntu เป็นรูทและเพิกถอนการอนุญาตทั้งหมดจากไดเรกทอรีสำหรับผู้ใช้รายอื่น ดังนั้นโฮมไดเร็กทอรีของผู้ใช้ (Ubuntu) จึงมีสิทธิ์ RWX สำหรับรูทเท่านั้นและไม่มีใครอื่น ตอนนี้ฉันไม่สามารถเข้าสู่ระบบโดยใช้ SSH ไปยัง Ubuntu ได้ ฉันให้ไฟล์. pem แต่ครั้งนี้ฉันได้รับแจ้งรหัสผ่านโดยไม่คำนึงถึงไฟล์. pem ดูเหมือนว่าฉันทำพลาด

สิ่งที่ฉันพยายาม:

  1. พยายามลงชื่อเข้าใช้ root โดยใช้ ssh (ไม่ได้รับอนุญาต)
  2. พยายามลงชื่อเข้าใช้ Ubuntu โดยใช้ ssh (ถามรหัสผ่านเพราะฉันเชื่อว่าปัญหาการอนุญาต)
  3. พยายามแฮ็กอินกำลังใช้ Wordpress ดังนั้นฉันจึงวางเชลล์บนเซิร์ฟเวอร์โดยใช้ผู้ดูแลระบบ ฉันได้รับเชลล์ย้อนกลับ แต่ไม่สามารถเลื่อนระดับสิทธิ์เพื่อรับรูทได้

ฉันจะขอบคุณมากถ้าคุณสามารถช่วยฉันในการเข้าเซิร์ฟเวอร์ / รีเซ็ตรหัสผ่าน / วิธีเข้าจาก AWS Dashboard / หรือวิธีใดก็ได้

คำตอบ

PhilipCouling Sep 11 2020 at 22:25

อ๊ะ!

สิ่งนี้เกิดขึ้น แต่เป็นบทเรียนที่ดีที่จะระมัดระวังการเข้าถึงของคุณให้มากขึ้น หากคุณสูญเสียการเข้าถึงโดยสิ้นเชิงตัวเลือกที่เปิดให้คุณเกือบจะเกี่ยวข้องกับการปิด VM ... คุณไม่สามารถกู้คืนจากสิ่งนี้ได้ด้วยเวลาพร้อมใช้งาน 100%

หากนี่เป็นพีซีภายในคุณสามารถเปิดฮาร์ดไดรฟ์ออกมาใส่ในเครื่องอื่นและรีเซ็ตรหัสผ่านจากเครื่องอื่น แม้ว่านี่จะเป็นเครื่องเสมือน แต่หลักการก็คล้ายกัน มีวิธีแก้ไขปัญหาที่คล้ายกันที่นี่:https://stackoverflow.com/a/11776183/453851

หลักการพื้นฐานคือเครื่องเสมือน EC2 เรา "ไดรฟ์ข้อมูล" เป็นฮาร์ดไดรฟ์ ผ่านคอนโซล AWS คุณสามารถ:

  • ปิดเครื่องเสมือนของคุณ
  • ถอดระดับเสียง
  • สร้างเครื่องเสมือนใหม่เอี่ยมใหม่ (พร้อมโวลุ่มของตัวเอง)
  • บูต VM ใหม่
  • แนบโวลุ่มเก่ากับ VM ใหม่ (เป็นโวลุ่มที่สอง)

จากนั้นเข้าสู่ VM ใหม่และ:

  • ติดตั้งโวลุ่มเก่า (ถึง/mnt/)
  • chrootลงในระบบไฟล์ที่เมาท์ ( chroot /mnt/ /bin/bash) สิ่งนี้จะทำให้คุณมีบรรทัดคำสั่งที่ทำงานราวกับว่ามันทำงานใน VM เก่าของคุณ
  • เปลี่ยนรหัสผ่านที่คุณต้องการด้วย passwd
  • ปิดตัวลง

สุดท้ายกลับมาที่คอนโซล AWS:

  • ถอดโวลุ่มเก่า
  • แนบกลับไปที่ VM เก่า
  • บูต vm เก่า
  • ลบ VM ใหม่ทั้งหมด (ระวังลบอย่างเดียว)