我可以通过以下方式触发与我的 VPN 的连接
nmcli con up id WORKVPN
但是我有一个 RSA SecurID,它是身份验证的一部分,这意味着我无法存储密码。如果没有密码,网络管理器会弹出 GUI 提示。我希望能够输入密码,或者至少在命令行而不是 GUI 上提示。有办法吗?
答案1
我可以建议几个选择
sshpass(警告:我自己还没有尝试过,如果有人在你背后偷看或查看你的历史记录,这是不安全的)
sshpass -p vpnpassword <your command>
它适用于 SSH 连接,尝试一下。
这是一种更实用、更安全的方法。请查看预计,在 Ubuntu 中安装非常简单
sudo apt-get install expect
编写一个包装脚本,在 bash 脚本中使用 expect
expect <<- DONE expect "<put here what you see in your password prompt> " send "<vpn password>\n" interact DONE
答案2
这些命令对我有用:
XAUTH="$(ps -C Xorg -o args= | sed -n 's/.*-auth \(.*\)/\1/p')"
export XAUTHORITY=$XAUTH
export DISPLAY=:0.0
XUSER="$(ps -C nm-applet -o user=)"
su ${XUSER} -c "nmcli c up 'VPN'"