โปรแกรมแก้ไข VPN ระยะไกลผ่าน SSH: คุณกำลังแก้ไขเครื่องไหน
การส่งต่อ X11 แสดงโปรแกรมแก้ไขระยะไกลบนแล็ปท็อปของคุณ แต่โปรไฟล์และเส้นทางยังอยู่บนโฮสต์ระยะไกล ตรวจสอบโฮสต์ UUID และการย้อนกลับก่อนบันทึก
การส่งต่อ X11 วางหน้าต่างของโปรแกรมแก้ไขไว้บนแล็ปท็อปของคุณ ขณะที่กระบวนการยังทำงานอยู่บนโฮสต์ระยะไกล ช่องว่างนี้คือกับดักทั้งหมด คุณกำลังดูหน้าต่างในเครื่องและแก้ไขโปรไฟล์ระยะไกล และสมมติฐานผิดเกี่ยวกับเครื่องที่เป็นเจ้าของการเปลี่ยนแปลงอาจตัดการเชื่อมต่อ SSH ที่คุณใช้งานอยู่ รายการตรวจสอบด้านล่างกำหนดโฮสต์และโปรไฟล์ก่อนบันทึกสิ่งใด ทุกขั้นตอนมีเงื่อนไขหยุด ดังนั้นความล้มเหลวตั้งแต่เนิ่น ๆ จึงมีต้นทุนต่ำ
ขั้นตอนที่ 1: ระบุชื่อเครื่องที่เป็นเจ้าของโปรไฟล์
เรียกใช้คำสั่งระบุตัวตนในเชลล์ที่คุณจะกำหนดค่า และอ่านคำตอบแทนที่จะคาดเดาจากพรอมต์ ชื่อโฮสต์ในพรอมต์เป็นสตริงที่เชลล์ของคุณพิมพ์ออกมา ชื่อโฮสต์ของเคอร์เนลคือสิ่งที่รายการตรวจสอบที่เหลือเชื่อถือ หากทั้งสองไม่ตรงกัน คุณอยู่บนเครื่องผิดหรือพรอมต์ถูกตกแต่งโดยเชลล์ในเครื่องของคุณ หยุดและเชื่อมต่อใหม่กับโฮสต์ที่ต้องการก่อนดำเนินการต่อ
hostnamectl
hostname -f
ip -brief address
คำถามถัดมาคือเครื่องนี้ควรเก็บ VPN ไว้หรือไม่ การกำหนดค่าไคลเอนต์ของแล็ปท็อปและการกำหนดค่าไคลเอนต์ของโฮสต์ระยะไกลให้เส้นทาง DNS และรูปแบบความล้มเหลวที่แตกต่างกัน ตัดสินใจว่าคุณหมายถึงแบบใดก่อนแตะโปรไฟล์ และเขียนการตัดสินใจไว้ในที่ที่คนถัดไปจะพบ
ขั้นตอนที่ 2: อ่านโปรไฟล์ด้วย UUID ไม่ใช่ป้ายชื่อ
NetworkManager ระบุการเชื่อมต่อด้วย UUID ขณะที่ชื่อเป็นป้ายที่ใครก็แก้ไขหรือทำสำเนาได้ แสดงรายการทั้งสองและจับคู่รายการที่คุณตั้งใจจริง โดยเฉพาะบนโฮสต์ที่มีการนำเข้าโปรไฟล์ VPN หลายรายการตลอดหลายปี
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
nmcli general permissions
รายการที่บันทึกไว้และการเชื่อมต่อที่ใช้งานตอบคำถามต่างกัน รายการแรกแสดงสิ่งที่มีอยู่ รายการที่สองแสดงสิ่งที่กำลังรับส่งข้อมูลอยู่ตอนนี้ บรรทัดสิทธิ์อธิบายนโยบายในเครื่องสำหรับเซสชันของคุณและไม่บอกอะไรเลยว่าเกตเวย์ VPN จะยอมรับบัญชีหรือไม่ หากโปรไฟล์ที่คุณต้องการไม่อยู่ในรายการที่บันทึกไว้ ให้หยุดตรงนี้ เพราะการแก้ไขรายการผิดแย่กว่าการไม่แก้ไขเลย
เมื่อได้ UUID แล้ว ให้ใส่ในตัวแปรและใช้ตัวแปรนั้นในทุกคำสั่งถัดไป วิธีนี้ขจัดข้อผิดพลาดจากการคัดลอกและวางทั้งชั้น และทำให้บันทึกทำซ้ำได้
UUID=$(nmcli -g UUID connection show 'Corp VPN')
nmcli connection edit uuid "$UUID"
ขั้นตอนที่ 3: ตัดสินใจว่าโปรแกรมแก้ไขแบบกราฟิกเป็นเครื่องมือที่เหมาะสมหรือไม่
โปรแกรมแก้ไขที่ต้องใช้พรอมต์ polkit หรือเอเจนต์ความลับจะไม่ได้มันเพียงเพราะหน้าต่างปรากฏบนแล็ปท็อปของคุณ ส่วนประกอบเหล่านั้นทำงานในบริบทของเซสชันระยะไกล และการส่งต่อจอภาพไม่ได้ส่งต่อส่วนประกอบเหล่านั้น หากโปรแกรมแก้ไขบันทึกไม่ได้เพราะข้อผิดพลาดด้านสิทธิ์หรือความลับ, จอภาพไม่ใช่ปัญหา
echo "$DISPLAY"
ssh -X you@vpn-host
xauth list
OpenSSH เปิดใช้การส่งต่อ X11 ด้วย -X และบันทึกข้อควรระวังที่มาพร้อมกัน โฮสต์ระยะไกลสามารถเข้าถึงจอภาพในเครื่องของคุณ ซึ่งเป็นขอบเขตความไว้วางใจจริง การส่งต่อแบบเชื่อถือด้วย -Y ขจัดส่วนหนึ่งของการตรวจสอบเหล่านั้น และไม่ควรเป็นวิธีแก้ปัญหาโดยอัตโนมัติสำหรับแอปที่ล้มเหลวภายใต้ค่าเริ่มต้น หากองค์กรของคุณเผยแพร่วิธีบริหารจัดการระยะไกล ให้ใช้วิธีนั้นแทนการประดิษฐ์รูปแบบใหม่ ในกรณีส่วนใหญ่โปรแกรมแก้ไขบรรทัดคำสั่งเป็นพื้นผิวที่เล็กกว่าและเป็นคำตอบที่ดีกว่า
หยุดตรงนี้หากเส้นทางเดียวที่ใช้ได้ต้องใช้ -Y และคุณอธิบายไม่ได้ว่าทำไม นั่นเป็นการตัดสินใจของเจ้าของนโยบายความปลอดภัย ไม่ใช่ทางหลีกเลี่ยงที่เก็บไว้ในสคริปต์ส่วนตัว
ขั้นตอนที่ 4: เตรียมเส้นทางกู้คืนก่อนเปิดใช้งานสิ่งใด
การเปลี่ยนแปลง VPN อาจลบเส้นทางที่เซสชัน SSH ของคุณพึ่งพา ดังนั้นจัดเตรียมทางกลับก่อนเปิดใช้งานโปรไฟล์ การเข้าถึงคอนโซล ที่อยู่การจัดการนอกแบนด์ หรือการย้อนกลับตามกำหนดเวลาล้วนนับทั้งสิ้น ความหวังว่าการเปลี่ยนแปลงจะได้ผลไม่นับ
sudo systemctl status NetworkManager
ip route show default
ss -tn state established '( sport = :22 )'
เปิดใช้งานเฉพาะโปรไฟล์ที่ตั้งใจ จากนั้นตรวจสอบจากโฮสต์ระยะไกล เส้นทางเริ่มต้น เส้นทางกลับของ SSH และทรัพยากรหนึ่งอย่างที่ควรเข้าถึงได้ผ่านอุโมงค์ การตรวจสอบที่สำเร็จจากแล็ปท็อปของคุณทดสอบเส้นทางของแล็ปท็อปและไม่บอกอะไรเกี่ยวกับโฮสต์ระยะไกล หากเซสชันขาด ให้ใช้เส้นทางกู้คืนแทนการเชื่อมต่อใหม่แบบสุ่มสี่สุ่มห้า การบันทึกโปรไฟล์ไม่ใช่การเปิดใช้งาน และการเปิดใช้งานไม่ใช่การตรวจสอบ.
บันทึก UUID ค่าคุณสมบัติที่คุณเปลี่ยน และคำสั่งที่คุณใช้ตรวจสอบ คนถัดไปที่แตะโฮสต์นี้จะต้องใช้ทั้งสามอย่าง และบันทึกมีค่ามากกว่าบทสรุปที่บอกว่าแก้ไข VPN แล้ว รายการตรวจสอบที่จบโดยไม่มีบันทึกการย้อนกลับเป็นเพียงครึ่งเดียว