Respostas:
Sim é possivel. Para fazer isso, você já possui um servidor OpenVPN instalado e o usuário criado no servidor.
O cliente openvpn mais fácil é o gerenciador de rede. Se você estiver usando o Ubuntu, execute:
aptitude install network-manager-openvpn
restart network-manager
Agora clique no applet do gerenciador de rede, selecione configurar VPN e configure uma nova conexão vpn aberta. Defina o gateway para seu servidor Defina o tipo como Senha Aponte sua CA para uma cópia do ca.crt do servidor e tudo deve funcionar
Anexado é um arquivo de configuração do cliente simples que funcionará. Edite-o para corresponder às configurações do servidor, quando apropriado. Você precisará disso e do seu ca.crt no mesmo diretório.
No linux, meu arquivo é chamado /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
É isso aí.
No lado do servidor, você precisa de uma linha como:
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn
O item acima habilitará o plug-in pam e fará com que ele use o arquivo /etc/pam.d/openvpn como config (nota: o arquivo não existe por padrão, você pode usar 'login' em vez dele para validar credenciais unix ou configurar o openvpn com o método de autenticação de sua escolha (por exemplo: google authenticator))
No lado do cliente, como mencionado acima, você deve usar auth-user-pass
no openvpn configfile ou, se usar o gerenciador de rede, escolha "Senha com Certificados" (Usuário + Senha + autenticação baseada em certificado) ou a opção simples "Senha" (Usuário + autenticação baseada em senha) em a guia Identidade.