Я хотел бы запустить OpenVPN при загрузке машины Debian, которая также автоматически заполняет логин и пароль сервера. Мне приходилось постоянно запускать после загрузки через SSH и отключаться с помощью смокинга, но я бы предпочел избавиться от всех хлопот.
Вот вставка журнала SSH, чтобы вы могли получить представление о командах и информации, которые необходимы для запуска:
/etc/openvpn$ sudo openvpn server.vpn.com.tcp443.ovpn
Tue Aug 15 18:54:42 2017 OpenVPN 2.3.4 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017
Tue Aug 15 18:54:42 2017 library versions: OpenSSL 1.0.1t 3 May 2016, LZO 2.08
Enter Auth Username: ******************
Enter Auth Password: ********
Любая помощь, которая может быть предоставлена, приветствуется.
Вы можете изменить настройки, чтобы использовать открытые ключи вместо паролей. Примеры приведены в OpenVPN HOWTO .
Если вы хотите сохранить текущую настройку, вы можете указать имя пользователя и пароль в файле, используя опцию --auth-user-pass [up]
, как описано в документации :
--auth-user-pass [up]
Authenticate with server using username/password. up is a file containing username/password on 2 lines (Note: OpenVPN will only read passwords from a file if it has been built with the --enable-password-save configure option, or on Windows by defining ENABLE_PASSWORD_SAVE in config-win32.h).
If up is omitted, username/password will be prompted from the console.
The server configuration must specify an --auth-user-pass-verify script to verify the username/password provided by the client.
Если вы используете systemd на своем компьютере, вы должны запустить экземпляр OpenVPNsystemctl start openvpn@NAME.service
(как root/с помощью sudo ). Вам нужно иметь файл конфигурации в /etc/openvpn/NAME.conf
.
Если вы работаете в Debian с SystemD, вам необходимо определить новую службу с параметром wanted by
в используемой вами цели, чтобы служба запускалась при загрузке. Если вы используете SystemV, напишите свои сценарии в /etc/rc.d/rc.local
.
Для systemD сначала скопируйте системную службу, чтобы иметь шаблон для настройки новой службы:
$ cp /usr/lib/systemd/system/ssh.service /etc/system/systemd/myservice.service
$ vim /etc/systemd/system/myservice.service
После этого вам нужно обновить параметр ExecStart
с помощью вашего скрипта openvpn (ваш скрипт openvpn прост, например cat user-pass-file | openvpn config.ovp
, который помещает пользовательский -пароль в файл ). Также добавьте WantedBy=graphical.target
, который позволяет запускать службу с графической цели. после этого вставьте следующую команду для запуска и включения службы:
$ systemctl enable myservice.service
$ systemctl start myservice.service