Автозапуск openvpn с аутентификацией по имени пользователя и паролю в Ubuntu

Вопрос или проблема

У меня есть сервер с установленным OpenVPN, а также есть ноутбуки (клиенты) с Ubuntu и установленным openvpn. На клиенте, если я вручную запускаю команду “sudo openvpn /etc/openvpn/client.conf”, клиент настроен запрашивать у меня информацию для входа (имя пользователя и пароль), которые затем будут использоваться для аутентификации на сервере. Я хотел бы, чтобы этот процесс происходил автоматически при запуске. В основном, мне нужно, чтобы вход в клиентский ноутбук и вход на сервер openvpn были одним и тем же действием. Я хочу, чтобы данные для аутентификации для входа в openvpn были такими же, как данные для входа в локальную учетную запись пользователя ноутбука. Как я могу это сделать?? Подробности, пожалуйста.

Предполагаю, что вы скачали файл .ovpn с информацией о vpn.

Создайте файл в той же папке с названием auth.txt и вставьте в его первой строке имя пользователя для входа в vpn, а во второй строке — пароль vpn, например:

admin
master

Сохраните файл и закройте его. Отредактируйте свой файл .ovpn: найдите строку, начинающуюся с auth-user-pass, и добавьте auth.txt. Сохраните файл и закройте его.

введите описание изображения здесь

Я бы указал полный путь к auth.txt, например, auth-user-pass /etc/openvpn/auth.txt, но (по крайней мере на Ubuntu) это также работает и с просто именем файла, если он в той же папке.

Теперь вы должны иметь возможность вызвать sudo openvpn <.ovpn file> без предоставления учетных данных (кроме пароля sudo).

Я основывал информацию на здесь и здесь

Есть небольшая заметка о том, как автоматически запускать скрипты при загрузке системы: здесь

Для любой современной версии Ubuntu (16.04+) сохраните конфигурационный файл клиента OpenVPN как /etc/openvpn/<name>.conf и выполните команду

# systemctl enable openvpn@<name>.service

Это создаст юнит при запуске на основе шаблона, предоставленного установленным пакетом openvpn.

(В качестве альтернативы, если вы хотите различать соединения сервера и клиента, поместите файл .conf в подкаталог …/client/ или …/server/ и используйте, соответственно, openvpn-client@ или …-server@ шаблон для создания юнита при запуске.)

Попробуйте запустить вновь созданный сервис – systemctl start openvpn@<name>. Вы увидите сообщения о требованиях к имени пользователя и паролю и всплывающие окна TTY для ввода недостающих данных. Введите данные и проверьте, что туннель работает.

Затем создайте файл авторизации, как указано в других ответах, и перезапустите сервис, чтобы узнать, заполняются ли данные автоматически.

У меня все прекрасно сработало.

Используйте опцию “auth-user-pass credentials-file.txt” в вашем конфигурационном файле клиента. Файл учетных данных должен быть в следующем формате:

username
password

Да, у вас будет текстовый файл с именем пользователя и паролем.

Ответ или решение

Автоматический запуск OpenVPN с аутентификацией по имени пользователя и паролю в Ubuntu

Ваша задача заключается в автоматизации процесса подключения клиента OpenVPN в Ubuntu так, чтобы это происходило при запуске системы, без необходимости вручную вводить данные для аутентификации. Для достижения этой цели вам потребуется создать файл с учетными данными, правильно настроить конфигурацию OpenVPN и настроить автозапуск службы. Ниже приведены пошаговые инструкции для реализации данной задачи.

1. Подготовка файла с учетными данными

Сначала вам необходимо создать файл, содержащий ваши учетные данные. Это файл будет использоваться OpenVPN для автоматического ввода имени пользователя и пароля.

  1. Создайте файл auth.txt в директории, где находится ваш файл конфигурации OpenVPN (например, /etc/openvpn/). Используйте текстовый редактор для создания файла:

    sudo nano /etc/openvpn/auth.txt
  2. Запишите имя пользователя и пароль в этот файл. Первая строка — имя пользователя, вторая строка — пароль:

    ваш_логин
    ваш_пароль
  3. Сохраните изменения и закройте текстовый редактор.

2. Изменение конфигурационного файла OpenVPN

Теперь необходимо изменить ваш файл конфигурации OpenVPN, чтобы он использовал файл с учетными данными.

  1. Откройте ваш файл конфигурации OpenVPN (например, client.conf):

    sudo nano /etc/openvpn/client.conf
  2. Найдите строку, начинающуюся с auth-user-pass, и измените её на следующую, указав путь к вашему файлу с учетными данными:

    auth-user-pass /etc/openvpn/auth.txt
  3. Сохраните изменения и закройте файл.

3. Настройка автозапуска OpenVPN

Теперь, когда у вас настроены учетные данные и конфигурация, важно настроить OpenVPN на автозапуск при загрузке системы.

  1. Сохраните ваш файл конфигурации как /etc/openvpn/<название>.conf, если он еще не сохранен.

  2. Включите автозапуск службы OpenVPN с помощью команды:

    sudo systemctl enable openvpn@<название>

    Замените <название> на имя вашего конфигурационного файла без расширения .conf.

  3. Запустите службу OpenVPN:

    sudo systemctl start openvpn@<название>
  4. Проверьте статус службы для удостоверения, что соединение установлено:

    sudo systemctl status openvpn@<название>

Заключительные замечания

Теперь при каждой загрузке вашей Ubuntu-системы OpenVPN будет автоматически подключаться с использованием ваших учетных данных. При этом вы обеспечите безопасность, поскольку файл auth.txt должен быть защищён от несанкционированного доступа. Убедитесь, что вы ограничили доступ к этому файлу с помощью команды:

sudo chmod 600 /etc/openvpn/auth.txt

Эта процедура не только упрощает работу с VPN, но и повышает вашу продуктивность, исключая необходимость ручного ввода данных.

Оцените материал
Добавить комментарий

Капча загружается...