Openvpn

無密碼重啟 OpenVPN 服務

  • January 4, 2021

有人可以告訴我如何在沒有密碼提示的情況下執行它:

systemctl restart openvpn@myvpn.service`

在我的 sudoers 文件中,我有:

<myadminuser> ALL=NOPASSWD: /usr/bin/systemctl openvpn@myvpn.service restart,/etc/init.d/openvpn

在 ~/.bashrc 我有:

alias or="systemctl restart openvpn@myvpn.service"

我嘗試過的解決方案:

如果我在別名中添加“sudo”,則會在終端內請求密碼。如果我不在別名中添加 sudo,則會彈出框,要求輸入密碼。因此,我在這裡發布了這個問題。

在您的sudoers文件中,您的條目不正確,因此它永遠不會匹配。應該是這樣(注意restart動作的位置與你原來的相比),

<myadminuser> ALL=NOPASSWD: /usr/bin/systemctl restart openvpn@myvpn.service,/etc/init.d/openvpn

然後在你的別名中你需要使用sudo

alias or="sudo systemctl restart openvpn@myvpn.service"

作為一個相關的想法,您可以通過使用 OpenVPN keep-alive 選項來避免執行任何這些操作,該選項添加到您的客戶端配置中

keepalive 10 60

這告訴 OpenVPN 客戶端每 10 秒發送一個“hello”消息(ping儘管這些值的通常描述,但它不是 ICMP),如果在 60 秒內沒有收到回复,則重新啟動連接。如有必要,您可以嘗試將其減少到 40 秒超時,但我不會低於此值。

引用自:https://unix.stackexchange.com/questions/627423