เชื่อมต่อ / ตัดการเชื่อมต่อจาก VPN จากบรรทัดคำสั่ง


131

ฉันมีการติดตั้ง VPN สองตัวบนเครื่อง Ubuntu ของฉันตัวหนึ่งใช้ vpnc และอีกอันใช้ PPTP สิ่งเหล่านี้เป็นการตั้งค่าทั้งสองอย่างโดยใช้ตัวจัดการเครือข่าย GNOME และทำงานได้ดี อย่างไรก็ตามในบางครั้งฉันจำเป็นต้องเข้าถึงเครื่องนี้จากระยะไกล - มีวิธีการเชื่อมต่อหรือยกเลิกการเชื่อมต่อ VPN เหล่านี้จากบรรทัดคำสั่งหรือไม่


คำสั่ง vpnc รายละเอียดที่นี่ไม่ได้ผลสำหรับคุณหรือไม่? นอกจากนี้ยังมีคำแนะนำสำหรับการกำหนดค่าและการเชื่อมต่อกับ PPTP ที่นี่ พวกมันไม่ทำงานเหรอ
Kris Harper

คำตอบ:


191

หากคุณต้องการโต้ตอบกับ NetworkManager จากบรรทัดคำสั่งคุณสามารถใช้คำสั่ง "nmcli"

รายการการเชื่อมต่อ NM ทั้งหมด: nmcli con

เริ่มการเชื่อมต่อ (wifi, vpn และอื่น ๆ ): nmcli con up id ConnectionName

การเชื่อมต่อลง: nmcli con down id ConnectionName

(คำสั่ง nmcli เพิ่มเติมในmanmcli )


นอกจากนี้โปรดทราบว่าผู้ใช้ทั่วไปมักจะไม่ได้รับอนุญาตให้ควบคุมเครือข่าย การใช้คำสั่งด้านบนด้วยsudoควรใช้กับการเชื่อมต่อส่วนใหญ่ แต่ VPN โดยเฉพาะอาจล้มเหลวด้วย"ข้อผิดพลาด: การเปิดใช้งานการเชื่อมต่อล้มเหลว: ไม่มีความลับ VPN ที่ถูกต้อง"

หากเกิดขึ้นกับคุณเป็นไปได้ว่ารหัสผ่าน VPN ถูกจัดเก็บไว้ใน gnome-keyring ของผู้ใช้ซึ่งทำให้ผู้ใช้รูทไม่สามารถเข้าถึงได้ ความคิดเห็นนี้อธิบายว่าทำไม

ในการแก้ไขปัญหานี้ให้แก้ไข/ etc / NetworkManager / system-connections / ConnectionNameและภายใต้[vpn]เปลี่ยนบรรทัดค่าสถานะรหัสผ่านเป็น:

password-flags=0

หากมีบรรทัดที่ขึ้นต้นด้วยXauth password-flagsให้เปลี่ยนเป็นแทน

จากนั้นเพิ่มสิ่งต่อไปนี้ใต้[vpn]บล็อก:

[vpn-secrets]
password=YourPassword

(ถ้าในขั้นตอนก่อนหน้าคุณเปลี่ยนบรรทัดXauth password-flagsให้เพิ่มXauth password=...แทน)

ตอนนี้รีสตาร์ทผู้จัดการเครือข่ายโดย:

sudo service network-manager restart

จากนั้นเริ่มการเชื่อมต่อ VPN ด้วยsudo nmcli con up id ConnectionNameควรทำงานได้อย่างไม่มีปัญหา


1
ฉันหวังว่าจะมีคำสั่งตัดการเชื่อมต่อทั่วไปที่จะตัดการเชื่อมต่อ VPN ใด ๆ โดยไม่ต้องระบุรหัส นั่นอาจทำให้คุณสมบัตินี้ (ฉันต้องการ) ง่ายต่อการใช้งาน
Lonnie Best

หากคุณใช้ ipsec (เช่น vpnc) คุณอาจต้องเพิ่ม "IPSec secret-flag = 0" และ "IPSec secret = <grouppw>" ในสถานที่ที่เกี่ยวข้อง
Matt

นี่ยังไม่ได้แก้ไขฉัน :( ฉันได้รับข้อความ "ข้อผิดพลาด: การเปิดใช้งานการเชื่อมต่อล้มเหลว: ไม่ทราบสาเหตุ"
dano

ฉันจะเอามันกลับมา ... หลังจากครั้งที่ 3 ฉันรันคำสั่งมันใช้งานได้ ครั้งแรกล้มเหลวอย่างรวดเร็ว ครั้งที่สองล้มเหลวช้า ครั้งที่สามทำงาน!
dano

2
ล้างข้อความ PWs หรือไม่? จริงๆ?? ไม่มีใครมีวิธีรักษาความปลอดภัยหรือไม่
user447607

4

คำตอบของ ihashacks ที่มีความคิดเห็นของ Matt ทำให้ฉัน ... เกือบจะ ต้องบิดหนึ่งบรรทัด

บรรทัดรหัสผ่านการตั้งค่าสถานะของฉันอ่านจริง ๆ : "Xauth password-flag" คำตอบที่ยอมรับจะไม่ทำงานสำหรับฉันจนกว่าฉันจะเปลี่ยนเป็นดังต่อไปนี้

[vpn]
...
Xauth password-flag=0
IPSec secret-flags=0

[vpn-secrets]
Xauth password=<my pw> ## This is the one I changed.
IPSec secret=<group pw>

ไม่แน่ใจว่าทำไมการเชื่อมต่อ VPN ของฉันมี "Xauth" ก่อนที่จะกล่าวถึงรหัสผ่านทุกครั้ง

(ขออภัยนี่เป็นคำตอบใหม่ยังไม่สามารถแสดงความคิดเห็นได้)


2
นี่สำหรับ VPN บางประเภทตัวอย่างเช่น Cisco หนึ่ง; มีประโยชน์มากสำหรับกรณีเหล่านี้! มีข้อผิดพลาดแม้ว่า: กรณีที่ถูกต้องของหนึ่งคีย์คือIPSec secret- มิฉะนั้นจะไม่ได้รับการยอมรับจาก NM
Marcus

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