คุณอาจเคยได้ยินเกี่ยวกับ Amazon Linux 2 ซึ่งเป็นระบบปฏิบัติการ AWS ที่พัฒนาโดย Amazon ให้บริการฟรี และคุณยังได้รับอุปกรณ์เครื่องเสมือนสำหรับการทดสอบอีกด้วย สิ่งที่ฉันทำ ตามที่ฉันได้แสดงให้คุณเห็นในบทความในหัวข้อนี้
อุปสรรคอย่างหนึ่งที่ฉันพบในระหว่างการทดสอบคือการเข้าสู่ระบบ โดยปกติ คุณใช้ SSH เพื่อเข้าสู่ระบบอินสแตนซ์ EC2 ของคุณ แต่คุณใช้อะไรสำหรับเครื่องเสมือนออฟไลน์โดยพื้นฐานแล้ว ฉันไม่พบคอมโบผู้ใช้ root/ec2 ทางออนไลน์ และวิธีการปกติในการพยายามเปลี่ยนรหัสผ่านในโหมดเดียวใช้ไม่ได้ ดังนั้นคู่มือนี้ จะแสดงวิธีเปลี่ยนข้อมูลรับรองการเข้าสู่ระบบด้วยตนเองสำหรับเครื่องเสมือน Amazon Linux 2 ของคุณ คุณจึงสามารถเริ่มการทดสอบได้ หลังจากฉัน.
แจ้งการเข้าสู่ระบบ
ดีดาวน์โหลดภาพ บูต เข้าสู่ระบบ. อะไรตอนนี้?
โหมดเดี่ยว
ผู้ใช้ Linux เป็นเวลานานจะจำเคล็ดลับนี้ได้ บังคับให้ระบบของคุณเข้าสู่โหมดเดียว ประกอบรูทใหม่เป็นแบบเขียนได้ เปลี่ยนรหัสผ่าน รีบูต เราทุกคนทำสิ่งนี้มาหลายครั้งแล้ว อนิจจา เป็นไปไม่ได้อีกต่อไป
ฉันพยายามผนวก init=/bin/bash เข้ากับตัวเลือกการบู๊ตในเมนูบู๊ต และระบบมีเคอร์เนลแพนิค ฉันไม่แน่ใจว่านี่เป็นสิ่งที่อยู่ในเคอร์เนลหรือไม่ ข้อเท็จจริงที่ Amazon Linux ใช้ systemd อันรุ่งโรจน์หรืออย่างอื่น แต่วิธีการแบบเก่าและได้รับการพิสูจน์แล้วไม่ได้ช่วยอะไร
การอ่านออนไลน์ นอกเหนือจากรายการ bin-bash นับล้านรายการที่ไม่ได้ผลอะไรใหม่ ฉันพบบทความโดยละเอียดเกี่ยวกับวิธีเปลี่ยนรหัสผ่านสำหรับ RHEL เวอร์ชัน 7 บทช่วยสอนยังกล่าวถึงแนวคิดเชิงปรัชญาเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงที่เปลี่ยนจาก RHEL 6 เป็น RHEL 7 และข้อเท็จจริงนี้เป็นส่วนหนึ่งของการสอบ RHCSA ฉันหมายถึงอะไร ความเรียบง่ายหายไปไหน
อย่างไรก็ตาม ฉันสัญญากับคุณว่าจะไม่พูดพร่ำทำเพลง แต่ตามที่บทความระบุไว้ การเพิ่ม rd.break ในบรรทัดเคอร์เนลอาจช่วยได้ และเนื่องจาก Amazon Linux 2 ใช้ RHEL ฉันจึงคิดว่ามาเริ่มกันเลย เพียงแต่มันไม่ทำอะไร Amazon Linux บูทได้ตามปกติ สิ่งนี้ไม่ได้ผลลัพธ์ที่ต้องการเช่นกัน
Amazon มีข้อความที่สั้นและคลุมเครืออธิบายวิธีการทำเช่นนี้ พวกเขาบอกว่าคุณควรสร้าง ISO การกำหนดค่า cloud-init จากนั้นพวกเขาจะอ้างอิงคุณถึงเอกสารแพลตฟอร์มการจำลองเสมือน เกรงว่าจะไม่ค่อยมีประโยชน์
ต่อเชื่อม VDI ด้วยตนเอง
เราพูดถึงเรื่องนี้ในอดีต ฉันแสดงวิธีเมานต์ดิสก์และพาร์ติชันของเครื่องเสมือนเป็นอุปกรณ์ย้อนกลับ เพื่อให้คุณสามารถแก้ไขเนื้อหาของระบบไฟล์ได้ เราใช้ partx เพื่อโคลนเครื่อง KVM เราจะทำสิ่งเดียวกันที่นี่ และฉันจะแสดงวิธีอื่นในการเมานต์และนำเสนอระบบไฟล์อิมเมจของเครื่องเสมือน
เราต้องการเครื่องมือ qemu-nbd ซึ่งทำเคล็ดลับที่คล้ายกัน ยูทิลิตีนี้มีให้ใช้งานโดยเป็นส่วนหนึ่งของแพ็คเกจ qemu-kvm ในการกระจายส่วนใหญ่ ดังนั้นคุณจึงติดตั้ง จากนั้นใช้เครื่องมือ หากการดำเนินการล้มเหลว คุณอาจต้องโหลดโมดูล nbd (อุปกรณ์บล็อกเครือข่าย) ลงในหน่วยความจำด้วยตนเอง ดังนั้น ลำดับของคำสั่ง (เช่น sudo หรือ root):
<ตัวจัดการแพ็กเกจ> ติดตั้ง qemu-kvm
modprobe nbd
qemu-nbd -c /dev/nbd0 <ชื่อเครื่องเสมือน vdi ฮาร์ดดิสก์>
ค้นหาการดาวน์โหลดอิมเมจ vdi ของ Amazon Linux 2 และแมปลงในคำสั่งด้านบน คุณไม่จำเป็นต้องใช้ /dev/nbd0 โดยเฉพาะ คุณสามารถใช้หมายเลขใดก็ได้ แต่การทำงานตามลำดับจะง่ายกว่าและสะอาดกว่า
เมื่อแมปอุปกรณ์บล็อกแล้ว คุณจะพบพาร์ติชันภายใต้ /dev/nbd0p* ตัวเลขจะตรงกับเลย์เอาต์ของพาร์ติชั่นฮาร์ดดิสก์จริง เช่น p1, p2 เป็นต้น ย้ำอีกครั้งว่าเกือบจะเหมือนกับที่เราทำกับ partx ขั้นตอนต่อไปคือการติดตั้งพาร์ติชันที่ต้องการ:
เมานต์ /dev/nbd0pX /mountpoint
เมื่อคุณทำคำสั่งนี้แล้ว ตอนนี้คุณจะมีเนื้อหาของระบบไฟล์ (พาร์ติชัน) ของ Amazon Linux 2 vdi ที่เปิดเผยภายใต้จุดเชื่อมต่อที่คุณต้องการ (เช่น /mnt) และตอนนี้เราสามารถจัดการมันได้
แก้ไขไฟล์ /etc/shadow
ตอนนี้เราต้องการเปลี่ยนรหัสผ่าน วิธีที่เราจะทำมีดังนี้ บน Linux ดั้งเดิมของเรา ซึ่งใช้งานเครื่องเสมือนอยู่จริง ให้สร้างผู้ใช้ใหม่ คุณสามารถเรียกมันว่าสิ่งที่คุณต้องการ สมมติว่าอเมซอน สร้างรหัสผ่าน. เปิดไฟล์ /etc/shadow คุณจะสังเกตเห็นว่ารหัสผ่านถูกเข้ารหัสและแสดงเป็นแฮชแบบยาว โดยอยู่ระหว่างตัวคั่นเครื่องหมายทวิภาคสองตัว ยอดเยี่ยม. นี่คือสิ่งที่เราต้องการ บางอย่างเช่น:
อเมซอน:$123456$dedoimedo:11111:0:99999:6:::
ตอนนี้ไปที่จุดเชื่อมต่อระบบไฟล์ของ Amazon Linux 2 จากก่อนหน้านี้ พูด /mnt แล้วเปิดไฟล์เงาในโปรแกรมแก้ไขข้อความ:
<ตัวแก้ไขข้อความ> /mnt/etc/shadow
คุณจะสังเกตเห็นว่าผู้ใช้เริ่มต้นจริง ๆ แล้วเรียกว่า ec2-user แม้ว่าคุณจะไม่รู้สิ่งนี้ แต่ตอนนี้คุณรู้แล้ว นอกจากนี้ยังมีแฮชสำหรับรหัสผ่าน ฉันไม่รู้ว่ามันคืออะไร และมันก็ไม่สำคัญ แทนที่แฮชด้วยแฮชจากผู้ใช้ amazon ในพื้นที่ บันทึกไฟล์ ยกเลิกการต่อเชื่อม vdi
เริ่มต้นใหม่ เข้าสู่ระบบ ทำงาน และเพลิดเพลิน
เริ่มเครื่องเสมือนของคุณอีกครั้ง เมื่อคุณได้รับข้อความแจ้งการเข้าสู่ระบบ ให้ระบุตัวเองให้ถูกต้องด้วยชื่อผู้ใช้และรหัสผ่านที่ถูกต้องที่เราเพิ่งใส่ลงไป คุณจะได้เข้าสู่ระบบ และคุณสามารถเริ่มทำงานกับอุปกรณ์เครื่องเสมือนของคุณได้ ตอนนี้ เราทำได้ด้วย Amazon Linux แต่เคล็ดลับนี้ใช้กับลีนุกซ์และระบบไฟล์ทั้งหมดที่มีอยู่ หากคุณไม่สามารถดำเนินการบำรุงรักษาระบบได้ตามปกติ คุณสามารถใช้เคล็ดลับนี้เพื่อหลีกเลี่ยงข้อจำกัดและทำการเปลี่ยนแปลงที่จำเป็นกับระบบไฟล์ สิ่งนี้มีประโยชน์มากสำหรับเครื่องเสมือน เราทำสิ่งนี้ด้วย KVM และตอนนี้กับ VirtualBox ด้วย
บทสรุป
หากคุณกระตือรือร้นที่จะทดสอบ Amazon Linux 2 แต่คุณประสบปัญหาข้อมูลรับรองการเข้าสู่ระบบ และคุณไม่อยากสร้างอิมเมจ ISO ของคุณเองหรือพยายามหาวิธีใช้เนื้อหา EC2 ทั้งหมดอย่างเหมาะสม คุณสามารถใช้ partx หรือ qemu-nbd เพื่อเมานต์ฮาร์ดดิสก์เสมือน และแก้ไขไฟล์เงาด้วยตนเอง นี่เป็นวิธีแก้ปัญหาที่รับประกันได้ ในกรณีที่บูตเข้าสู่โหมดเดี่ยวหรือโหมดช่วยเหลือ หรืออะไรก็ตามที่ไม่ได้ผลสำหรับคุณ
Amazon Linux 2 ดูเหมือนเป็นระบบปฏิบัติการที่สนุกและมีคุณสมบัติที่ค่อนข้างน่าสนใจ และน่าเสียดายที่จะพลาดไปเพราะความผิดพลาดทางเทคนิค/ระบบราชการ เช่น การเข้าสู่ระบบ/รหัสผ่านเริ่มต้น ฉันหมายความว่าไม่มีเหตุผลใดที่ไม่ควรตั้งค่าเริ่มต้นเช่นเดียวกับ distro บวกกับการเปลี่ยนแปลงทั่วไปในโครงสร้างพื้นฐานของ Linux vis-a-vis init=/bin/bash แน่ใจว่าไม่ได้ช่วยอะไร หวังว่าบทความนี้จะให้ความรู้ทางเทคนิคที่จำเป็นแก่คุณและกระตุ้นให้เกิดการผจญภัยเพื่อเริ่มต้นการเดินทางของคุณ เหนือสิ่งอื่นใด มันไม่เชื่อเรื่องพระเจ้า อุปกรณ์เครื่องเสมือนใด ๆ ระบบไฟล์ใด ๆ คุณจะสามารถทำการเปลี่ยนแปลงที่จำเป็นสำหรับการทดสอบของคุณได้ ขอให้สนุกกับการสำรวจ
ไชโย.