Vamos criar um certificado/chave para um cliente, estes passos servem para cria todos os certificados/chaves de todos os clientes.
Entre no diretório /etc/ssl/ca:
# cd /etc/ssl/ca
Para criar o certificado/chave do cliente usaremos o comando abaixo:
# openssl req -nodes -new -keyout cliente.key -out cliente.csr
Onde:
- cliente.key - nome da chave do cliente, pode ser o nome da pessoa que vai usar, como joão.key ou ricardo.key;
- cliente.csr - certificado csr do cliente, use o mesmo nome que foi utilizado na chave para facilitar sua visualização.
Mais uma vez você terá que responder aquelas perguntinhas de localidade e nome da empresa, nas seguintes perguntas apenas tecle ENTER, conforme a criação dos certificados anteriores:
Country Name (2 letter code) (BR):
State or Province Name (full name) [SC]:
Locality Name (eg, city) [Florianopolis]:
Organization Name (eg, company) [nome da sua empresa]:
Organizational Unit Name (eg, section) [VPN]:
Mas em:
- Common Name (eg, your name or your server's hostname) []: - Aqui utilize o mesmo nome que você usou na chave, neste exemplo foi "cliente";
- Email Address []: - Email do cliente;
- A challenge password []: - Digite uma senha para o certificado.
Agora vamos fazer a C.A. assinar este certificado, no terminal digite:
# openssl ca -out cliente.crt -in cliente.csr
E responda "y" as perguntas sempre.
Pronto, nosso primeiro certificado de cliente foi criado, agora copie o certificado da ca ca.crt, o protocolo dh dh1024.pem mais o certificado/chave e o certificado assinado do cliente cliente.csr, cliente.key e cliente.crt para um disquete ou envie por e-mail para o cliente.
Se seus clientes usam o sistema da Microsoft, aconselho a instalarem o cliente
openvn-gui, digite no Google "openvpn-gui" que encontrará vários executáveis para baixar. Instale-o nas máquinas clientes e copie todos os arquivos citados acima para a pasta C:\Arquivos de programas\OpenVPN\config (isso se você fez uma instalação default), e dentro deste diretório crie o arquivo
client.ovpn com o seguinte conteúdo:
client
dev tap
proto tcp
remote (ip externo do servidor)
port 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Arquivos de programas\\OpenVPN\\config\\ca.crt"
dh "C:\\Arquivos de programas\\OpenVPN\\config\\dh1024.pem"
cert "C:\\Arquivos de programas\\OpenVPN\\config\\roberto.crt"
key "C:\\Arquivos de programas\\OpenVPN\\config\\roberto.key"
comp-lzo
verb 4
mute 20
Salve e saia.
Repita estes passos para cada cliente que for se conectar remotamente, lembrando sempre de utilizar um nome diferente para cada um. Se você fizer no mesmo esquema que eu faço, colocando o nome da pessoa no certificado, fica mais fácil.
De volta ao servidor...