Ubuntuマシンには、vpncを使用するVPNとPPTPを使用するVPNの2つのセットアップがあります。これらはどちらもGNOMEネットワークマネージャーインターフェイスを使用してセットアップされ、優れた機能を発揮します。ただし、このマシンにリモートでアクセスする必要がある場合があります。これらのVPNにコマンドラインから接続または切断する方法はありますか?
コマンドラインからNetworkManagerと対話する場合は、「nmcli」コマンドを使用できます。
すべてのNM接続をリストします:nmcli con
接続の開始(wifi、vpnなど):nmcli con up id ConnectionName
ダウン接続:nmcli con down id ConnectionName
( nmcli manpage のその他のnmcliコマンド)。
また、通常のユーザーには通常、ネットワークを制御する権限がないことに注意してください。上記のコマンドをSudo
とともに使用すると、ほとんどの接続で機能しますが、VPNは特に "Error:Connection activation failed:no valid VPN secrets。"
その場合、VPNパスワードがユーザーのgnome-keyringに保存されている可能性があります。これにより、rootユーザーはアクセスできなくなります。 このコメント はその理由を説明しています。
これを修正するには、/ etc/NetworkManager/system-connections/ConnectionNameを編集し、[vpn]
の下で passwordフラグを変更します 行:
password-flags=0
Xauth password-flags
で始まる行がある場合は、代わりに変更します。
次に、[vpn]
ブロックの下に次を追加します。
[vpn-secrets]
password=YourPassword
(前のステップでXauth password-flags
行を変更した場合、代わりにXauth password=...
を追加します。)
次に、ネットワークマネージャーを再起動します。
Sudo service network-manager restart
その後、Sudo nmcli con up id ConnectionName
を使用してVPN接続を開始すると、問題なく動作するはずです。
mattのコメントに対するihashacksの回答は、私にとってはうまくいきました...ほとんど。 1行を微調整する必要がありました。
私のパスワードフラグ行は実際には「Xauthパスワードフラグ」です。受け入れられた答えは、次のように変更するまでは機能しません
[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」が含まれる理由がわかりません。
(申し訳ありませんが、これは新しい回答であり、まだコメントすることはできません。)