Windows openvpn auth user pass

If you try to pass the username/password to OpenVPN from a file via the —auth-user-pass switch, you get the following error:

"Sorry, 'Auth' password cannot be read from a file."

At least they’re polite.

So our workaround was to programmatically write to «standard in» when we get the Auth Username: and Auth Password: prompts (this is in C#).

Something with the timing isn’t 100% reliable, so I was looking for a way to pass the credentials to OpenVPN in a different way and came across this post: OpenVPN Post

It says you can recompile the source with a —enable-password-save option. Has anyone been able to do this?

My final question is: How can I pass an auth username/password to openvpn.exe on the client side? And does OpenVPNGUI somehow do this (maybe we can copy what they do)?

asked Jul 29, 2009 at 22:07

jonathanpeppers's user avatar

jonathanpeppersjonathanpeppers

26.1k21 gold badges99 silver badges182 bronze badges

1

NOTE! param auth-user-pass not work if start by GUI «C:\Program Files\OpenVPN\config\name.ovpn»

Made start file start_openvpv.cmd (+ link to with «run as admin») with content:

cd C:\Users\Name\Documents\VPN
"C:\Program Files\OpenVPN\bin\openvpn.exe" --config C:\Users\Name\Documents\VPN\myvpnconfig.ovpn --auth-user-pass "C:\Users\Name\Documents\VPN\pass.txt"

pass.txt:

yourusername
yourpassword

OR put line to name.ovpn, as in upper messege:

auth-user-pass pass.txt

+start_openvpv.cmd:

cd C:\Users\Name\Documents\VPN
"C:\Program Files\OpenVPN\bin\openvpn.exe" --config C:\Users\Name\Documents\VPN\myvpnconfig.ovpn

answered May 27, 2014 at 12:40

Timofey's user avatar

TimofeyTimofey

511 silver badge3 bronze badges

2

It’s possible to open a VPN connection via a script by using the following DOS command (however this is not recommended since the password is not encrypted)

$openvpn.exe config.ovpn < username < password

answered Nov 18, 2011 at 12:25

Mark Starmer's user avatar

2

It turns out the problem wasn’t with standard in.

I was using some locking where if the process exited in the middle of writing to standard in, there could be a deadlock.

There is no issue sending the password in this manner.

answered Aug 31, 2009 at 21:34

jonathanpeppers's user avatar

jonathanpeppersjonathanpeppers

26.1k21 gold badges99 silver badges182 bronze badges

For automatic authentication to Openvpn you have to modify the config.ovpn file.

-Go to OpenVPN\config directory and edit the .ovpn file

-Add this line to the config file -> auth-user-pass password.txt

-Then create the password.txt file and write in it:

yourusername
yourpassword

-After these steps your openvpn will connect automatically.

answered May 8, 2014 at 10:59

user2363047's user avatar

OpenVPN-channels-pass-000.jpg

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

И так нам нужно организовать VPN канал между двумя офисами. Сеть Офис 1 (назовем его С_ОФ1) и Сеть Офис 2 (назовем его С_ОФ2).

Скажу сразу что в моем случае OpenVPN в обоих офисах установлен на Windows 7.

С_ОФ1 включает:
Машина куда ставим OpenVPN Server имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(192.168.0.100)
192.168.0.100 смотрит в сеть
192.168.1.2 смотрит в мир через роутер. Роутер имеет статический IP скажем 111.222.333.444. На роутере сделан проброс порта 1190 (в моем случае порт 1190 проброшена на 192.168.1.2)
Пользователь в сети: 192.168.0.50

С_ОФ2 включает:
Машина куда ставим OpenVPN Client имеет 2 сетевых интерфейса.
Также на ней установлен прокси-сервер который раздает инет в локалку, тем самым являясь для всех машин в локалке основным шлюзом(172.17.10.10)
172.17.10.10смотрит в сеть
192.168.1.2 смотрит в мир через роутер.
Пользователь в сети: 172.17.10.50

Задача: Пользователь С_ОФ1(192.168.0.50) должен видеть расшареные ресурсы на Пользователе С_ОФ2 (172.17.10.50) и наоборот.

OpenVPN-channels-pass-001.jpg

Приступаем к настройке

Скачиваем OpenVPN с официального сайта в соответствии с разрядностью системы.

OpenVPN-channels-pass-002.jpgЗапускаем установку, на 3-м шаге активируем неактивные пункты.

OpenVPN-channels-pass-003.jpg

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

OpenVPN-channels-pass-004.jpg

В процессе установки в систему инсталлируется виртуальный сетевой адаптер TAP-Win32 Adapter V9 и, соответственно, драйвер к нему. Этому интерфейсу программа OpenVPN как раз и будет назначать IP адрес и маску виртуальной сети OpenVPN. В нашем случае ему назначен адрес 10.10.10.1с маской 255.255.255.0 на сервере С_ОФ1 и 10.10.10.2 с аналогичной маской на клиенте С_ОФ2.

OpenVPN-channels-pass-005.jpg

Переименуем его в «VPN»

OpenVPN-channels-pass-020.jpg
В директории «C:\OpenVPN» следует сразу же создать дополнительно папку ssl (здесь мы будем хранить ключи аутентификации) папку ccd (здесь будут находится конфигурация настроек сервера для клиента).

В папке easy-rsa создаем файл vars.bat, данный пакетный файл будет задавать переменные для сеанса генерации сертификатов, в той части что касается организации и расположения заполняем своими данными.

set HOME=C:\OpenVPN\easy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=C:\OpenVPN\ssl
set KEY_SIZE=1024
set KEY_COUNTRY=RU
set KEY_PROVINCE=Stavropol
set KEY_CITY= Stavropol
set KEY_ORG=ServerVPN
set KEY_EMAIL=admin@localhost
set KEY_CN=test
set KEY_NAME=test
set KEY_OU=test
set PKCS11_MODULE_PATH=test
set PKCS11_PIN=1234

Запускаем командную строку от имени администратора.

OpenVPN-channels-pass-006.jpg
Переходим по пути C:\OpenVPN\easy-rsa, набрав для перехода в командной строке команду

 cd C:\OpenVPN\easy-rsa

Запускаем vars.bat:

OpenVPN-channels-pass-007.jpg

Далее запускаем clean-all.bat:

OpenVPN-channels-pass-008.jpg

Теперь запускаем build-ca.bat. Так как вся информация о сервере у нас уже заполнена, все оставляем без изменений:

OpenVPN-channels-pass-009.jpgпосле этого у нас в папке ssl появится два файла ca.crt и ca.key.

Запускаем build-dh.bat:

OpenVPN-channels-pass-010.jpg

в результате у нас в папке ssl появится файл dh1024.pem.

Создаем серверный ключ, для этого вводим команду:

build-key-server.bat ServerVPN

где «ServerVPN» это название нащего VPN сервера, как в моем случае,

Важно! Указываем параметр «commonname» — пишем имя нашего VPN сервера. Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes

OpenVPN-channels-pass-011.jpg

в результате у нас в папке ssl появятся файлы ServerVPN.crt, ServerVPN.csr, ServerVPN.key.

Приступаем к формированию клиентских ключей.

Выполняем команду:

build-key.bat UserVPN_1

где «UserVPN_1» имя нашего клиента.

Важно! Указываем параметр «commonname» — пишем имя нашего VPN клиента(UserVPN_1). Все остальные параметры оставляем по умолчанию, на все вопросы отвечаем yes

OpenVPN-channels-pass-012.jpg

В результате у нас в папке ssl появятся файлы UserVPN_1.crt, UserVPN_1.csr, UserVPN_1.key.

Если у вас несколько клиентов, то повторяем формирование ключей; не забывая каждому клиенту присваивать свои имена

build-key.bat UserVPN_2
build-key.bat UserVPN_3

Генерация ключа tls-auth (ta.key) для аутентификации пакетов, для этого переходим в корневую папку OpenVPN:

cd ..

и выполняем команду:

openvpn --genkey --secret ssl/ta.key

в результате в папке ssl плучим файл ta.key.

Приступаем к созданию конфига сервера. В папке config создаем файл OpenVPN.ovpn:

#Порт для работы OpenVPN
port 1190

#Указываем по какому протоколу работает OpenVPN
proto udp

#Тип интерфейса
dev tun

#Имя интерфейса
dev-node "VPN"

#Сертификат для шифрования подключения
dh C:\\OpenVPN\\ssl\\dh1024.pem

#Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt

#Сертификат сервера
cert C:\\OpenVPN\\ssl\\ServerVPN.crt

#ключ сервера
key C:\\OpenVPN\\ssl\\ServerVPN.key

# Защита от DOS атак (для сервера, после пути к ключу, ставим 0 а для клиента 1)
tls-server
tls-auth C:\\OpenVPN\\keys\\ta.key 0
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

#Диапазон IP адресов для VPN сети
server 10.10.10.0 255.255.255.0

# Выбор криптографического шифра
cipher AES-256-CBC

#Логи
status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log

#Каталог, в которой лежит файл с названием нашего клиента, в моем случае UserVPN_1 без расширения, и в нем записать команды, которые будут выполнятся на клиенте:
client-config-dir "C:\\OpenVPN\\ccd"

#Уровень отладочной информации
verb 3

#Количество повторяющихся сообщений
mute 20

# Максимальное количество одновременно подключенных клиенты мы хотим разрешить
max-clients 2

#Время жизни неактивной сессии
keepalive 10 120

#Разрешаем клиентам видеть друг друга
client-to-client

#Включаем сжатие
comp-lzo
persist-key
persist-tun

#Маршруты добавляются через .exe если без него, то не у всех прописываются маршруты
route-method exe

#Задержка перед добавлением маршрута
route-delay 5

#Команда которая сообщает клиентам что за сервером локальная сеть с адресами 192.168.0.0 255.255.255.0
push "route 192.168.0.0 255.255.255.0"

#Прописывает маршрут на сервере чтобы видеть сеть за клиентом
route 172.17.10.0 255.255.255.0 10.10.10.2

#Шлюз
route-gateway 10.10.10.1

# каждому клиенту выдается по 1 адресу, без виртуальных портов маршрутизатора
topology subnet

В папке ccd создаем файл без расширения и называем его точно, как клиента UserVPN_1, открываем его блокнотом и пишем следующее:

#Присваиваем клиенту постоянный IP 10.10.10.2
ifconfig-push 10.10.10.2 255.255.255.0

#сообщаем серверу что за клиентом сеть 172.17.10.0
iroute 172.17.10.0 255.255.255.0

#если раскоментировать следующую строку, то клиент будет отключен (на случай если нужно этого клиента отключить от сервера, а остальные будут работать)
# disable

Создаем конфиг клиента.

#Говорим, чтобы клиент забирал информацию о маршрутизации с сервера (push опции)
client

#Порт для работы OpenVPN
port 1190

#Указываем по какому протоколу работает OpenVPN
proto udp

#Тип интерфейса
dev tun

#Имя интерфейса
dev-node "VPN"

# Адрес сервера, к которому подключаемся
remote 444.333.222.111 1190

#защита
remote-cert-tls server

#Сертификат центра сертификации
ca C:\\OpenVPN\\ssl\\ca.crt

#Сертификат сервера
cert C:\\OpenVPN\\ssl\\ UserVPN_1.crt

#ключ
key C:\\OpenVPN\\ssl\\ UserVPN_1.key

# Защита от DOS атак
tls-auth C:\\OpenVPN\\keys\\ta.key 1
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ping-restart 60
ping 10

#Включаем сжатие
comp-lzo
persist-key
persist-tun

# Выбор криптографического шифра
cipher AES-256-CBC

#Логи
status C:\\OpenVPN\\log\\openvpn-status.log
log C:\\OpenVPN\\log\\openvpn.log

#Уровень отладочной информации
verb 3

#Количество повторяющихся сообщений
mute 20

Устанавливаем на клиенте OpenVPN, предаём ему ca.crt, UserVPN_1.crt, UserVPN_1.key, ta.key.

Настраиваем файрволы и антивирусы на клиенте и на сервере для беспрепятственного прохождения пакетов. Описывать не буду все зависит от установленных антивирусов и файрволов.

После всего этого запускаем наш сервер и клиент.
OpenVPN-channels-pass-013.jpg
Если все правильно сделали наш сервер получит IP 10.10.10.1 и подключится к нему клиент и получит IP 10.10.10.2 . И так подключение у нас состоялось теперь сервер и клиент пингуют друг друга по IP нашей VPN сети, то есть 10.10.10.1 и 10.10.10.2.

Для того чтобы пинг шел по внутренним адресам наших С_ОФ1 и С_ОФ2 нужно включить службу Маршрутизации и удаленного доступа.

image016.png
Hужно зайти в свойства службы, настроить ее на автоматическое включение и запустить.

OpenVPN-channels-pass-015.jpgПосле этого мы сможем пинговать внутренние IP сервера и клиента (172.17.10.10 клиент и 192.168.0.100 сервер).

Но у этого способа есть маленький недостаток: после включения этой службы и подключения к нашему VPN-каналу на значке сетевого подключения повиснет красный крест до отключения VPN.

OpenVPN-channels-pass-016.jpgПри этом все сети работают в штатном режиме. Лично меня этот крест раздражает и иногда сбивает с толку.

Есть второй способ как сделать видимыми внутренние IP сетей наших сервера и клиента.

Для этого заходим в реестр, открываем ветку реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TcpIP\Parameters

Находим параметр и меняем значение: IPEnableRouter типа REG_DWORD значение 1.

OpenVPN-channels-pass-017.jpg

Не забываем перезагрузить машину, чтобы настройки вступили в силу!

Это нужно проделать и на сервере, и на клиенте.

Итак мы пингуем наши сети по внутренним IP, а так как у нас и сервер и клиент для своих сетей являются шлюзами, то и машины из сети 1 могут видеть машины из сети 2 и наоборот. то есть Пользователь С_ОФ1(192.168.0.50) может видеть расшаренные папки Пользователя С_ОФ2 (172.17.10.50) и наоборот.

Если сервер и клиент не будут являться шлюзами для своих сетей, в том случае придётся прописывать маршруты руками.

Пример для С_ОФ1:

route -p 172.17.10.0 255.255.255.0 192.168.0.100 (машина где установлен OpenVPN)

Пример для С_ОФ2:

route -p 192.168.0.0 255.255.255.0 172.17.10.10(машина где установлен OpenVPN)

в моем случае этого не понадобилось.

Для автоматического запуска сервера и клиента нам нужно включить службу OpenVPN Service

OpenVPN-channels-pass-018.jpgтеперь при загрузке машины сервер автоматически стартует, а при включении машины клиента он также автоматически подключится к серверу.

Дополнительная защита

Как известно в OpenVPN есть возможность аутентификации по сертификатам, как описано выше, а так же по логину и паролю, но можно еще и объединить их вместе. Насколько мне известно только в Linux есть возможность штатными средствами настроить аутентификацию по логину и паролю, но в Windows это тоже можно решить. Для этого в папке config создаем файл auth.vbs и пишем в него следующее

'VBscript auth.vbs для аутентификации в OpenVPN - auth-user-pass-verify auth.vbs via-file
'(c) 2007  vinni  http://forum.ixbt.com/users.cgi?id=info:vinni
'Support: http://forum.ixbt.com/topic.cgi?id=14:49976
 
' в скрипте производится сравнение имени пользователя без учёта регистра.
' Если нужно иначе - уберите UCase(...) в 2 или 4 местах
 
On Error Resume Next
 
' открываем файл, имя которого передано OpenVPN-ом в скрипт через параметр
Set fso = CreateObject("scripting.filesystemobject")
Set CurrentUserPasswordFile = fso.OpenTextFile(WScript.Arguments(0),1) '1 = for reading
if Err.Number<>0 Then WScript.Quit(1)
 
' читаем из этого файла 2 строки - имя и пароль, которые ввёл пользователь "на том конце"
if CurrentUserPasswordFile.AtEndOfStream then WScript.Quit(1)
UserName=CurrentUserPasswordFile.ReadLine
if CurrentUserPasswordFile.AtEndOfStream then WScript.Quit(1)
Password=CurrentUserPasswordFile.ReadLine
CurrentUserPasswordFile.Close
 
' открываем переменную окружения common_name (это CN предъявленного клиентом сертификата)
' и сравниваем её с введенным именем пользователя.
' если это сравнение не нужно, то следующие 2 строки удалить или закомменировать
CurrentCommonName = CreateObject("Wscript.Shell").ExpandEnvironmentStrings("%common_name%")
if UCase(CurrentCommonName) <> UCase(UserName) then WScript.Quit(1)
 
' открываем наш файл с базой логинов и паролей
' по умолчанию это Users.pw в текущем каталоге
Set UserPasswordFileBase = fso.OpenTextFile("Users.pw",1) '1 = for reading
if Err.Number<>0 Then WScript.Quit(1)
 
' читаем в цикле пары строк, пропуская пустые МЕЖДУ ЭТИМИ ПАРАМИ,
' и сравниваем их с тем, что ввёл пользователь.
Do while not(UserPasswordFileBase.AtEndOfStream)
	NextUserName=UserPasswordFileBase.ReadLine
	if Err.Number<>0 Then WScript.Quit(1)
	if NextUserName<>"" then
' если имя пользователя надо сравнивать с учётом регистра, то удалите здесь UCase(...)
		if UCase(UserName)=UCase(NextUserName) then
			if Password=UserPasswordFileBase.ReadLine then
' если имя и пароль совпали с парой из базы, то завершаем скрипт с результатом 0
' так нужно для OpenVPN'a, это признак успешной аутентификации
				UserPasswordFileBase.Close
				WScript.Quit(0)
			end if
		else
			UserPasswordFileBase.ReadLine
		end if
	end if
Loop
 
' если поиск завершился безуспешно, то завершаем скрипт с результатом 1
' так нужно для OpenVPN'a, это признак НЕуспешной аутентификации
UserPasswordFileBase.Close
WScript.Quit(1)

Так же в папке config содаем файл Users.pw туда пише логин и пароль нашего клиента

UserVPN_1
123456

Если несколько клиентов то:

UserVPN_1
123456
UserVPN_2
365214
UserVPN_3
14578

Дальше нужно в конфиге клиента прописать строку auth-user-pass, теперь когда клиент будет подключаться к серверу у него будет выплывать окно авторизации где нужно ввести логин и пароль, который вы назначили ему в Users.pw,их нужно будет сообщить клиенту.

OpenVPN-channels-pass-019.jpgУ меня настроено что имя пользователь(логин) соответствует имени клиента в сертификате, то есть UserVPN_1. но можно задать и другое имя отличное от имени в сертификате, для этого нужно смотреть настройки в auth.vbs.

' открываем переменную окружения common_name (это CN предъявленного клиентом сертификата)
' и сравниваем её с введенным именем пользователя.
' если это сравнение не нужно, то следующие 2 строки удалить или закомменировать

CurrentCommonName = CreateObject("WscrIPt.Shell").ExpandEnvironmentStrings("%common_name%")
if UCase(CurrentCommonName) <> UCase(UserName) then WScrIPt.Quit(1)
WScrIPt.Echo "Debug: CurrentCommonName= " & CurrentCommonName

А для того чтобы аутентификация работала и по сертификату, и по логину с паролем, но при этом не выплывало окно авторизации пользователя, так как это будет задерживать подключение клиента к серверу если, например, у вас включена автоматическая загрузка службы OpenVPN Service (как настроено у меня) или вы просто не хотите каждый раз вводить логин и пароль, в этом случае на клиенте в папке ssl создаем файл pass.txt и пишем в него наш логин и пароль вот так:

UserVPN_1
123456

а в конфиге клиента меняем строку auth-user-pass на auth-user-pass C:\\OpenVPN\\ssl\\pass.txt.

Теперь я включаю машину где установлен OpenVPN -Server, запускается служба и сервер VPN автоматически поднимается. Клиент запускает машину и у него также проходит автоматическое подключение к моему серверу. Теперь можно заходить в общие папки или по RDP работать, например, в 1С, установленной в другой организации.

Автор: Чурилов Александр Андреевич,
дата написания 31.03.2015.

контакты re-anim@mail.ru

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Ubuntu 20

OpenVPN is a widely used software solution for creating secure point-to-point or site-to-site connections. While the most common authentication method is using certificates, there are situations where using a username/password authentication can be more convenient. This article will guide you through the process of setting up a user/password authentication on your OpenVPN server.

To set up user/password authentication on your OpenVPN server, you need to modify the server configuration file by uncommenting or adding specific lines. You also need to create an authentication script that checks the username and password provided by the client. Finally, restart the OpenVPN server for the changes to take effect.

  1. Prerequisites
  2. OpenVPN Server Configuration
  3. Creating the Authentication Script
  4. Restarting the OpenVPN Server
  5. Conclusion

Prerequisites

Before we begin, make sure that you have root or sudo access to your OpenVPN server. You should also have a basic understanding of how to use a command-line text editor like nano or vim.

OpenVPN Server Configuration

The first step in setting up user/password authentication is to modify the OpenVPN server configuration file. This file is usually located at /etc/openvpn/server.conf. Open this file with your preferred text editor:

sudo nano /etc/openvpn/server.conf

In this file, you’ll need to uncomment or add the following lines:

# Uncomment this line to enable username/password authentication.
# Please note that this method is less secure than certificate authentication.
auth-user-pass-verify /path/to/auth-script via-env
auth-user-pass-optional

The auth-user-pass-verify directive tells OpenVPN to use an external script for authentication. The via-env option indicates that the username and password will be passed to the script via environment variables.

The auth-user-pass-optional directive is optional and it allows clients to connect without a username and password. If you want to enforce username/password authentication, do not include this line.

After making these changes, save the file and exit the text editor.

Creating the Authentication Script

Next, you’ll need to create an authentication script. This script will be called by OpenVPN when a client attempts to connect. You can use any scripting language you prefer, but for simplicity, we’ll use a Bash script in this example.

Create a new file for the script:

sudo nano /path/to/auth-script

Here is a simple example of what the script could look like:

#!/bin/bash
# /path/to/auth-script

# Retrieve the username and password from environment variables
username=$1
password=$2

# Perform your authentication logic here
# For example, you can check against a database or a user file

# Return 0 if authentication is successful, 1 otherwise
if [ "$username" == "your_username" ] && [ "$password" == "your_password" ]; then
 exit 0
else
 exit 1
fi

This script retrieves the username and password from the command-line arguments ($1 and $2), and then checks if they match a predefined username and password. If the credentials match, the script exits with a status code of 0, indicating a successful authentication. Otherwise, it exits with a status code of 1, indicating a failed authentication.

Replace "your_username" and "your_password" with the actual username and password you want to use.

Once you’ve written your script, save the file and exit the text editor.

Next, make the script executable with the following command:

sudo chmod +x /path/to/auth-script

Restarting the OpenVPN Server

The final step is to restart the OpenVPN server so that the changes take effect:

sudo systemctl restart openvpn

Conclusion

You have now set up user/password authentication on your OpenVPN server. Keep in mind that this method of authentication is considered less secure than certificate-based authentication. It is recommended to use certificate authentication whenever possible, and to use a secure method for storing and transmitting usernames and passwords.

For more information on OpenVPN configuration, you can refer to the OpenVPN manual.

Yes, you can use any scripting language you prefer for the authentication script. Just make sure to modify the script accordingly and specify the correct interpreter in the shebang line at the beginning of the script.

If the authentication script returns an error, OpenVPN will reject the connection attempt. It is important to ensure that your authentication script is functioning correctly and returns the appropriate exit codes for successful and failed authentication.

To add multiple usernames and passwords for authentication, you can modify the authentication script to include multiple checks or perform a lookup against a database or user file. You can add additional if statements or database queries to match the provided username and password against the stored credentials.

Yes, you can choose a different location for the authentication script. Just make sure to update the auth-user-pass-verify directive in the OpenVPN server configuration file to point to the correct path of the script.

Yes, it is possible to use both certificate-based authentication and user/password authentication together. You can configure OpenVPN to require both forms of authentication by including the appropriate directives in the server configuration file. However, keep in mind that this may add complexity and potentially reduce security if not implemented correctly.

By default, OpenVPN will save username and password and you can login automatically if you don’t press the login button in 5 seconds. However, in the old versions, this feature was not available and you need to do some manual steps as described below in the old days.

Save Username and Password in OpenVPN for Automatic login (Outdated Method)

The following steps are out of date and you don’t need to do any of them to save username and password on OpenVPN anymore.

By default, OpenVPN does not save the username and password which requires you to input them in each time you connect to the server. This is good from a security perspective, but there are sometimes when it is required to have this information saved to permit automatic logins to OpenVPN.

If you need to save the username and password to a VPN connection, follow the steps below.

1-Navigate to your config folder for OpenVPN. Some common paths for this folder are:

  • Windows – C:\Program Files\OpenVPN\config
  • Mac (Tunnelblick) – ~/Library/Application Support/Tunnelblick/Configurations

openvpn automatic login

2-Create a new text file in this folder. We’ll name ours “auth.txt”. The contents of this text file should simply be two lines. The first line should be your username, and the second should be your password. Save this file.

Important Note: If you get Permission Denied Error, Create the file on your desktop and then copy and paste it into that directory.

openvpn save password

openvpn save password

3-Now open your OpenVPN config file(SaturnVPN_OVPN_DE.ovpn , SaturnVPN_OVPN_US.ovpn ,SaturnVPN_OVPN_UK.ovpn Or SaturnVPN_OVPN_CA.ovpn)which is in the same folder, in a text editor . These files typically end in a .ovpn extension. Find the line that says “auth-user-pass” and change it to “auth-user-pass auth.txt”, where “auth.txt” is the name of the file containing your username and password. Save this file.

Important Note: If you get Permission Denied Error, Copy the file and paste it to your desktop, Modify it, save it, copy it, and paste it to that directory.

openvpn save password

step4

4-Try to connect to OpenVPN. You may need to restart the OpenVPN client and you should now connect without a username and password prompt!

OpenVPN туннель

Про автоматическое поднятие канала OpenVPN, когда он запускается как служба в Windows я уже рассказывал, но тогда конфигурация была на основе пользовательских сертификатов. А как поступить в случае, когда при установке соединения с VPN сервером запрашиваются учётные данные пользователя? Куда следует прописать имя и пароль, чтобы система сама поднимала защищённый канал связи при загрузке?

По умолчанию, OpenVPN не сохраняет учётные данные пользователя, а запрашивает их всякий раз при подключении, однако начиная с версии OpenVPN 2.4 при запуске клиента с графическим интерфейсом OpenVPN GUI такая возможность появилась. С точки зрения безопасности, сохранять пароли не самая лучшая идея, но иногда это просто необходимо (как в случае с автоматическим подключением).

OpenVPN сохраняет учётные данные пользователя

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

C:\Program Files\OpenVPN\config
или
C:\Program Files (x86)\OpenVPN\config

Создаём обычный текстовый файл login.conf (название и расширение файла могут быть любыми по вашему желанию). Первая строка в файле должна содержать ваш логин, а во второй указывается пароль к OpenVPN серверу:

username
password

После чего добавляем в конфиг следующую строчку:

auth-user-pass login.conf

Теперь при подключении к серверу учетные данные запрашиваться не будут.

Подписывайтесь на канал

Яндекс.Дзен

и узнавайте первыми о новых материалах, опубликованных на сайте.

  • Windows on britain activity book
  • Windows nvm command not found
  • Windows open file with administrator
  • Windows old когда удалится сама
  • Windows ntp server windows 2003