Сохраните парольную фразу закрытого ключа OpenVPN на Debian

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

Я установил клиент OpenVPN 3 на свой Debian Bookworm, но каждый раз, когда я запускаю демона, он спрашивает Пароль для закрытого ключа:. Как я могу сохранить пароль? Надоедает вводить пароль каждый раз при загрузке. Клиент OpenVPN Connect для Windows имеет опцию Сохранить пароль закрытого ключа, но я не нашел ничего подобного в терминальном клиенте для Linux.

Сервер OpenVPN работает на MikroTik RouterOS 7.15.2.

Конфигурация клиента:

dev tun
proto tcp-client
remote *****.com
port 1194
nobind
persist-key
persist-tun
client
tls-client
remote-cert-tls server
verb 6
mute 10
cipher AES-256-GCM
redirect-gateway def1
auth SHA1

<auth-user-pass>
*****
*****
</auth-user-pass>

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN ENCRYPTED PRIVATE KEY-----
-----END ENCRYPTED PRIVATE KEY-----
</key>

У меня такая же проблема, и я ищу решение, как сохранить пароль закрытого ключа. В моем случае Ubuntu 24.04 все еще показывает “Пожалуйста, введите пароль с помощью systemd-tty-ask-password-agent” в терминале. Есть идеи, как это исправить?

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

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

1. Использование askpass

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

  1. Установите ssh-askpass (если он еще не установлен):

    sudo apt install ssh-askpass
  2. Запишите пароль в переменную окружения:
    Вы можете создать скрипт, который будет устанавливать переменную окружения перед запуском OpenVPN:

    export key_pass="Ваш_пароль"
  3. В конфигурации OpenVPN укажите использование переменной:
    В файл конфигурации OpenVPN добавьте следующее:

    pass.txt < /dev/tty < /path/to/scripts/script.sh

2. Хранение пароля в текстовом файле

Хотя хранение паролей в текстовом файле не является самой безопасной практикой, это один из простейших способов решить вашу проблему:

  1. Создайте файл для хранения пароля:
    Например, создайте файл pass.txt:

    echo "ваш_пастсворд" > ~/pass.txt
  2. Установите разрешения для файла:
    Необходимо ограничить доступ к этому файлу:

    chmod 600 ~/pass.txt
  3. Измените конфигурацию OpenVPN:
    Обновите вашу конфигурацию OpenVPN, добавив строку для указания сокрытого пароля:

    auth-user-pass ~/pass.txt

3. Использование systemd для управления вопросами паролей

Если вы используете систему, основанную на systemd, вы можете настроить его для обработки паролей через systemd-tty-ask-password-agent.

  1. Создайте файл сервиса для OpenVPN:

    sudo nano /etc/systemd/system/openvpn@client.service

    Обратите внимание на следующие строки:

    [Service]
    ExecStart=/usr/sbin/openvpn --config /path/to/your/config.ovpn --askpass /path/to/pass.txt
  2. Убедитесь, что файл пароля защищен:
    Установите права доступа к файлу пароля, чтобы только вы могли его читать:

    chmod 600 /path/to/pass.txt
  3. Запустите и проверьте сервис:
    Запускайте OpenVPN через systemd:

    sudo systemctl start openvpn@client

Заключение

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

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

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

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