คุณต้องสามารถเข้าสู่ระบบในโฮสต์อื่นในส่วนเครือข่ายเดียวกัน วิธีการในการเข้าถึงโฮสต์ที่กำหนดค่าไม่ถูกต้องบางอย่างต้องการรูทบนโฮสต์ระดับกลาง แต่ก็มีวิธีที่ง่ายวิธีหนึ่งในการเข้าถึงโดยไม่จำเป็นต้องรูทบนโฮสต์ระดับกลาง
วิธีง่ายๆในการเข้าถึงโฮสต์โดยใช้ IPv6
ssh -o ProxyCommand='ssh -W [fe80::42:ff:fe:42%%eth0]:%p user@intermediate-host' root@target-server
ค่าตัวอย่างต่อไปนี้อยู่ในความต้องการคำสั่งดังกล่าวจะถูกแทนที่ด้วยค่าที่ถูกต้องสำหรับกรณีการใช้งานของคุณ: fe80::42:ff:fe:42, eth0, user, และintermediate-hosttarget-server
คำอธิบายโดยละเอียดเกี่ยวกับวิธีการทำงาน
ProxyCommandเป็นคุณสมบัติ ssh ที่จะใช้เมื่อคุณไม่สามารถเปิดการเชื่อมต่อ TCP โดยตรงไปยังโฮสต์เป้าหมาย อาร์กิวเมนต์ to ProxyCommandเป็นคำสั่งที่ stdin / stdout ใช้แทนการเชื่อมต่อ TCP
-Wใช้เพื่อเปิดการส่งต่อพอร์ตเดียวและเชื่อมต่อกับ stdin / stdout ProxyCommandนี้เหมาะอย่างด้วยกัน
fe80::42:ff:fe:42%%eth0เป็นที่อยู่ link-local ของโฮสต์เป้าหมาย โปรดสังเกตว่าเนื่องจากการProxyCommandใช้%เป็นอักขระ escape คำสั่ง ssh ที่พิมพ์ต้องใช้%%ในตำแหน่งนั้น ssh user@intermediate-host ping6 -nc2 ff02::1%eth0คุณสามารถหาที่อยู่ลิงค์ท้องถิ่นทั้งหมดในส่วนโดยการเรียกใช้
การใช้ที่อยู่ IPv6 link-local สำหรับจุดประสงค์นี้มักจะเป็นวิธีที่ง่ายที่สุดเนื่องจากมีการเปิดใช้งานตามค่าเริ่มต้นในระบบที่ทันสมัยทั้งหมดและที่อยู่ link-local จะยังคงใช้งานได้แม้ว่าทั้ง IPv4 และ IPv6 จะถูกกำหนดค่าอย่างไม่ถูกต้อง
ย้อนกลับไปสู่ IPv4
หาก IPv6 ถูกปิดใช้งานอย่างสมบูรณ์ในโฮสต์ที่กำหนดค่าผิดพลาด (ไม่แนะนำอย่างยิ่ง) คุณอาจต้องใช้ IPv4 เนื่องจาก IPv4 ไม่มีที่อยู่ link-local วิธีที่ IPv6 จะเข้าถึงโฮสต์ที่กำหนดค่าโดยใช้ IPv4 มีความซับซ้อนมากขึ้นและต้องการการเข้าถึงรูทบนโฮสต์ระดับกลาง
หากโฮสต์ที่กำหนดค่าผิดพลาดยังคงสามารถใช้เกตเวย์เริ่มต้นได้คุณจะสามารถเข้าถึงได้จากภายนอก อาจเป็นไปได้ว่า netmask ที่กำหนดค่าผิดพลาดอาจทำให้เกตเวย์เริ่มต้นผิดพลาดเนื่องจากสแต็กปฏิเสธที่จะใช้เกตเวย์นอกคำนำหน้าซึ่งครอบคลุมโดย netmask หากเป็นกรณีนี้โฮสต์ที่กำหนดค่าผิดจะสามารถสื่อสารกับ 192.168.1.8 ได้เท่านั้นเนื่องจากเป็นที่อยู่ IP อื่น ๆ ในเครือข่ายย่อยที่เข้าถึงโฮสต์ที่กำหนดค่าไม่ได้นี้ในปัจจุบัน
หากคุณมีการเข้าสู่ระบบใน 192.168.1.8 คุณอาจจะสามารถ ssh จากที่นั่นไปที่ 192.168.1.9 หาก 192.168.1.8 ยังไม่ได้ถูกมอบหมายคุณสามารถมอบหมายให้โฮสต์ใด ๆ ในกลุ่มที่คุณมีสิทธิ์เข้าถึงรูทชั่วคราว
               
              
fe80::42:ff:fe:42ที่อยู่ของ ... คืออะไร? เซิร์ฟเวอร์ของฉันกำหนดค่าผิดฉันเดาได้ไหม