Ответы:
Да, это возможно. Для этого у вас уже установлен сервер OpenVPN, а пользователь создан на сервере.
Самый простой клиент openvpn - это менеджер сети. Если вы используете Ubuntu, запустите:
aptitude install network-manager-openvpn
restart network-manager
Теперь нажмите на апплет менеджера сети, выберите настройку VPN и настройте новое соединение open-vpn. Установите шлюз на ваш сервер. Установите тип на Password. Укажите ваш CA на копию ca.crt вашего сервера, и все должно работать.
Прилагается простой файл конфигурации клиента, который будет работать. Отредактируйте его в соответствии с настройками вашего сервера, где это необходимо. Вам понадобится это и ваш файл ca.crt в одном каталоге.
В Linux мой файл называется /etc/openvpn/client.conf
##############################################
# Sample client-side OpenVPN 2.0 config file.
# for connecting to multi-client server.
##############################################
# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client
dev tun
proto udp
# The hostname/IP and port of the server.
remote my-server-2.domain 1194
# host name of the OpenVPN server. Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite
# Most clients don't need to bind to
# a specific local port number.
nobind
# Try to preserve some state across restarts.
persist-key
persist-tun
# Certificate Authority
ca ca.crt
# Username/Password authentication is used on the server
auth-user-pass
# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server". This is an
# important precaution to protect against
# a potential attack discussed here:
# http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server". The build-key-server
# script in the easy-rsa folder will do this.
ns-cert-type server
# Set log file verbosity.
verb 3
# To start the openvpn client, simply type:
# openvpn --config /etc/openvpn/client.conf
Вот и все.
На стороне сервера вам нужна строка вроде:
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn
Вышеприведенное включит плагин pam и заставит его использовать файл /etc/pam.d/openvpn в качестве конфигурации (примечание: файл не существует по умолчанию, вы можете использовать 'login' вместо него для проверки учетных данных Unix или настройки openvpn с выбранным вами методом аутентификации (например, Google authenticator))
На стороне клиента, как упоминалось выше, вы должны использовать auth-user-pass
в конфигурационном файле openvpn, или, если вы используете сетевой менеджер, выберите «Пароль с сертификатами» (User + Pass + сертификат на основе аутентификации) или простой параметр «Password» (User + Pass на основе аутентификации) на вкладка Идентичность.