Bagaimana cara menyimpan kata sandi VPN dengan NetworkManger untuk nmcli?

14

Ada banyak posting tentang memasukkan kata sandi VPN /etc/NetworkManager/system-connections/<connection>. Saya tidak bisa membuat mereka bekerja di Ubuntu 12.04. Kolom dalam pertanyaan dan jawaban agak berbeda dari milik saya. Yang paling dekat sepertinya adalah: Bagaimana cara menyimpan kata sandi VPN dengan NetworkManger .

Saya lebih suka nmclimeminta kata sandi di konsol daripada di widget GUI di desktop, tapi itu sepertinya tidak mungkin.

Jadi dua pertanyaan:

  1. Apakah /etc/NetworkManager/system-connections/<connection>file dan bidangnya secara resmi didokumentasikan di mana saja? Tampaknya ada banyak 404 untuk tautan dokumentasi NetworkManager.
  2. Apa yang salah dengan file koneksi saya?

Ini adalah file koneksi saya. Saya sudah mencoba banyak variasi pengaturan dalam file ini, tapi ini sedekat yang saya bisa (tentu saja dianonimkan):

[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

Permissons:

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

Menjalankannya memberi:

> 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.

Sunting: Berikut ini adalah pos serupa lainnya (tentang Openconnect VPN): Bagaimana saya bisa mendapatkan NetworkManager untuk terhubung secara otomatis ke Openconnect VPN melalui nmcli tanpa meminta pengguna dan kata sandi

Peter V. Mørch
sumber

Jawaban:

11

Ketika Anda mengatur koneksi VPN Anda melalui GUI, kata sandi disimpan di gantungan kunci. Jika Anda menyimpan kata sandi di file koneksi, seperti ini:

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
PeretasBaloo
sumber
1
Tidak bekerja untuk saya di sini sekarang 15.04. Jika saya berlari nmcli con up id MyVPNsebagai pengguna saya sendiri, dialog kata sandi masih muncul di desktop mesin jarak jauh. Berlari sudo nmcli con up id MyVPNmemberi pertama (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 existdan kemudianError: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/7' failed in libnm-glib.
Peter V. Mørch
4

Saya memiliki masalah yang sama, / var / log / messages mendaftarkan pesan di mana NetworkManager mengeluh tentang properti yang tidak valid. Setelah saya menghapus flag dan ketik properti dan hanya meninggalkan catatan [vpn-secrets], koneksi dapat dibuat.

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

Paket yang saya instal:

NetworkManager-0.8.1-66.el6.x86_64

Hasil:

[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
Oscar
sumber
Tidak bekerja untuk saya. Sebagai root saya dapatkan: (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.Sebagai pengguna "saya", itu membuka dialog login pada desktop jarak jauh.
Peter V. Mørch
1
Saya dapat mengkonfirmasi ini berfungsi untuk Ubuntu 14.04 pada cisco VPN.
Dale Anderson
Bekerja dengan Fritzbox 5490 dan Ubuntu 16.04. Di mana IPSec secretIPSec Pre-Shared Key dan Xauth passwordmerupakan kata sandi yang telah Anda pilih di Fritzbox. Pastikan untuk tidak mengacaukan kata kunci ejaan dan huruf besar dari IPSec secretdan Xauth password.
MadMike
3

Dalam hal menyelesaikan kesalahan rahasia kata sandi sederhana di 16.04 , Anda hanya perlu dua baris:

[vpn-secrets]
password=my_secret_password

Saya hanya akan menyentuh / menambah baris lain jika perlu

Serigala
sumber
1
Saya juga perlu mengaturpassword-flags=0
Pierre François
2

Saya tidak akan mengubah file konfigurasi GUI yang dihasilkan. Lain kali Anda membuat klik di GUI entri manual Anda hilang. Pembaruan sistem juga dapat merusaknya.

Anda dapat mencoba yang berikut ini:

  • Izinkan untuk berjalan sudo nmclitanpa kata sandi:

    Buat file /etc/sudores.d/mynmcli(nama file tidak masalah)

    Host_Alias HOST = YOURHOSTNAME
    Cmnd_Alias NMCLI    = /usr/bin/nmcli
    YOURHOSTNAME HOST=(root) NOPASSWD:NMCLI
    
  • Buat file kata sandi dengan:

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

    Sekarang Anda dapat menjalankan baris berikut dalam skrip yang ditangani oleh jagung:

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

    (Untuk menemukan tipe YOURVPN " nmcli con")

Bekerja untuk saya di Ubuntu 16.10.

wolfi
sumber
1

Lakukan apa yang dikatakan Wolf . Simpan file.

Kemudian ketik

sudo service network-manager restart

dan tekan Enter.

Sekarang perubahan Anda berlaku.

Orang munafik
sumber
0

Edit koneksi VPNC Anda menggunakan dialog Network Connections.

Pada tab VPN, input kata sandi memiliki ikon di dalam input di sisi kanan. Klik ikon ini dan pilih "Simpan kata sandi hanya untuk pengguna ini".

Galatia
sumber