จะบันทึกรหัสผ่าน VPN ด้วย NetworkManger สำหรับ nmcli ได้อย่างไร


14

มีการโพสต์จำนวนมากเกี่ยวกับการวางรหัสผ่าน VPN /etc/NetworkManager/system-connections/<connection>เข้ามาเป็น ฉันไม่สามารถทำงานกับ Ubuntu 12.04 ได้ เขตข้อมูลในคำถามและคำตอบนั้นดูแตกต่างจากของฉันเล็กน้อย หนึ่งที่อยู่ใกล้มาดูเหมือนจะเป็น: วิธีการบันทึกรหัสผ่าน VPN พร้อมด้วย NetworkManger

ฉันต้องการnmcliขอรหัสผ่านบนคอนโซลแทนที่จะเป็นวิดเจ็ต GUI บนเดสก์ท็อป แต่ดูเหมือนจะเป็นไปไม่ได้

ดังนั้นสองคำถาม:

  1. มีการ/etc/NetworkManager/system-connections/<connection>บันทึกไฟล์และฟิลด์อย่างเป็นทางการทุกที่หรือไม่? ดูเหมือนว่ามี 404s จำนวนมากสำหรับลิงก์เอกสาร NetworkManager
  2. เกิดอะไรขึ้นกับไฟล์การเชื่อมต่อของฉัน

นี่คือไฟล์ conneciton ของฉัน ฉันได้ลองการตั้งค่าหลายรูปแบบในไฟล์นี้ แต่นี่ใกล้เคียงกับสิ่งที่ดีที่สุดเท่าที่จะเป็นไปได้ (แน่นอนว่าไม่ระบุชื่อ):

[connection]
# Not sure if this helps or breaks anything. Fails regardless.
permissions=user:peter:;
id=My VPNC
uuid=a2cd97d5-7df1-4391-91d8-7e72931ec2de
type=vpn
autoconnect=false
timestamp=1396942441

[vpn]
service-type=org.freedesktop.NetworkManager.vpnc
NAT Traversal Mode=natt
ipSec-secret-type=save
IPSec secret-flags=0
xauth-password-type=save
Vendor=cisco
Xauth username=user
IPSec gateway=1.2.3.4
XAuth password-flags=0
IPSec ID=Ipsec
Perfect Forward Secrecy=server
IKE DH Group=dh2

[vpn-secrets]
XAuth password=password
IPSec secret=grouppassword

[ipv4]
method=auto

การอนุญาต:

> ls -l /etc/NetworkManager/system-connections/My\ VPNC 
-rw------- 1 root root 527 Apr  8 10:11 /etc/NetworkManager/system-connections/My VPNC

ใช้มันให้:

> sudo nmcli con up id  'My VPNC'
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/44
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.

แก้ไข: นี่เป็นอีกโพสต์ที่คล้ายกัน (เกี่ยวกับ Openconnect VPN แต่): ฉันจะให้ NetworkManager เชื่อมต่ออัตโนมัติกับ Openconnect VPN ผ่าน nmcli ได้อย่างไรโดยไม่ต้องให้ผู้ใช้และรหัสผ่าน

คำตอบ:


11

เมื่อคุณตั้งค่าการเชื่อมต่อ VPN ผ่าน GUI รหัสผ่านจะถูกบันทึกไว้ในคีย์ริง หากคุณบันทึกรหัสผ่านของคุณในไฟล์การเชื่อมต่อเช่นนี้:

sudoedit /etc/NetworkManager/system-connections/MyConnectionExampleName

in this file:

    # 1 here means key-ring I  think, but with 0, the password below is  used
    [vpn]
    password-flags=0
    cert-pass-flags=0

    [vpn-secrets]
    password=my_secret_password
    cert-pass=my_secret_certificate_password

1
ไม่ได้ผลสำหรับฉันที่นี่ตอนนี้ 15.04 หากฉันใช้งานnmcli con up id MyVPNในฐานะผู้ใช้ของฉันเองกล่องโต้ตอบรหัสผ่านจะยังคงปรากฏบนเดสก์ท็อปของเครื่องระยะไกล ทำงานsudo nmcli con up id MyVPNก่อน(process:3320): libnm-glib-WARNING **: async_got_type: could not read properties for /org/freedesktop/NetworkManager/ActiveConnection/7: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't existแล้วจึงError: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/7' failed in libnm-glib.
ปีเตอร์ V. Mørch

4

ฉันมีปัญหาเดียวกัน / var / log / ข้อความลงทะเบียนข้อความที่ NetworkManager บ่นเกี่ยวกับคุณสมบัติที่ไม่ถูกต้อง หลังจากที่ฉันลบคุณสมบัติการตั้งค่าสถานะและประเภทและเหลือเพียง [vpn-secret] บันทึกการเชื่อมต่อสามารถสร้างขึ้นได้

ipSec-secret-type=save
IPSec secret-flags=0
xauth-password-type=save
XAuth password-flags=0

แพ็คเกจที่ฉันติดตั้ง:

NetworkManager-0.8.1-66.el6.x86_64

ผลลัพธ์:

[connection]
id=My VPNC
uuid=a2cd97d5-7df1-4391-91d8-7e72931ec2de
type=vpn
autoconnect=false
timestamp=1396942441

[vpn]
service-type=org.freedesktop.NetworkManager.vpnc
NAT Traversal Mode=natt
Vendor=cisco
Xauth username=user
IPSec gateway=1.2.3.4
IPSec ID=Ipsec
Perfect Forward Secrecy=server
IKE DH Group=dh2

[vpn-secrets]
XAuth password=password
IPSec secret=grouppassword

[ipv4]
method=auto

ไม่ได้ผลสำหรับฉัน ในฐานะที่เป็น root ฉันได้รับ: (process:2034): libnm-glib-WARNING **: async_got_type: could not read properties for /org/freedesktop/NetworkManager/ActiveConnection/4: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist Error: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/4' failed in libnm-glib.ในฐานะผู้ใช้ "ฉัน" มันจะเปิดกล่องโต้ตอบการเข้าสู่ระบบบนเดสก์ท็อประยะไกล
Peter V. Mørch

1
ฉันสามารถยืนยันการทำงานนี้สำหรับ Ubuntu 14.04 บน cisco VPN
Dale Anderson

ทำงานร่วมกับ Fritzbox 5490 และ Ubuntu 16.04 IPSec secretคีย์ IPSec ที่แบ่งปันล่วงหน้าอยู่ที่ไหนและXauth passwordเป็นรหัสผ่านที่คุณเลือกใน Fritzbox ให้แน่ใจว่าจะไม่เลอะการสะกดคำและพิมพ์ใหญ่ / กรณีที่ต่ำกว่าของคำหลักและIPSec secret Xauth password
MadMike

3

ในแง่ของการแก้ไขข้อผิดพลาดลับรหัสผ่านแบบง่ายใน16.04คุณต้องมีสองบรรทัดเท่านั้น:

[vpn-secrets]
password=my_secret_password

ฉันจะแตะ / เพิ่มบรรทัดอื่นถ้าจำเป็นเท่านั้น


1
ฉันต้องตั้งpassword-flags=0
Pierre François

2

ฉันจะไม่เปลี่ยน GUI ที่สร้างไฟล์กำหนดค่า ครั้งต่อไปที่คุณคลิกใน GUI รายการของคุณก็จะหายไป การอัปเดตระบบอาจทำให้เบรค

คุณสามารถลองต่อไปนี้:

  • อนุญาตให้ทำงานsudo nmcliโดยไม่มีรหัสผ่าน:

    สร้างไฟล์/etc/sudores.d/mynmcli(ชื่อไฟล์ไม่สำคัญ)

    Host_Alias HOST = YOURHOSTNAME
    Cmnd_Alias NMCLI    = /usr/bin/nmcli
    YOURHOSTNAME HOST=(root) NOPASSWD:NMCLI
    
  • สร้างไฟล์รหัสผ่านด้วย:

    vpn.secrets.Xauth password:PASSWORD
    vpn.secrets.IPSec secret:SHAREDSECRET
    

    ตอนนี้คุณสามารถรันบรรทัดต่อไปนี้ในสคริปต์ซึ่งจัดการโดย corn:

    sudo nmcli con up id YOURVPN passwd-file /path/to/your/file
    

    (เพื่อค้นหาประเภท YOURVPN " nmcli con")

ทำงานได้สำหรับฉันบน Ubuntu 16.10


1

ทำสิ่งที่หมาป่ากล่าวว่า บันทึกไฟล์

จากนั้นพิมพ์

sudo service network-manager restart

Enterและตี

ตอนนี้การเปลี่ยนแปลงของคุณจะมีผล


0

แก้ไขการเชื่อมต่อ VPNC ของคุณโดยใช้กล่องโต้ตอบการเชื่อมต่อเครือข่าย

บนแท็บ VPN อินพุตรหัสผ่านมีไอคอนอยู่ภายในอินพุตทางด้านขวา คลิกที่ไอคอนนี้และเลือก "เก็บรหัสผ่านสำหรับผู้ใช้รายนี้เท่านั้น"

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