1. 下载Easy RSA3

下载完并解压后,拷贝一份到/etc/openvpn和/home/client下

#.3版本需要独立下载个easy-rsa,该包用来制作ca证书,服务端证书,客户端证书
wget -c https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip
mv easy-rsa-master easy-rsa

2. 生成服务器端证书

cd /etc/openvpn/easy-rsa/easyrsa3

cp vars.example vars  #一般情况下,默认的配置可以满足需求,也可以根据需要修改
./easyrsa init-pki   #建立一个空的pki结构,生成一系列的文件和目录
./easyrsa build-ca   #创建ca  密码 和 cn那么需要记住
./easyrsa gen-req server nopass  #创建服务端证书  common name 最好不要跟前面的cn那么一样
./easyrsa sign server server   #签约服务端证书
./easyrsa gen-dh  #创建Diffie-Hellman

3. 生成客户端证书

#下面是客户端的证书
#首先创建一个工作的目录
cd /home/
mkdir client && cd client
cp -R ~/easy-rsa/ ./   #这是解压过的easy-rsa 而不是生成了服务端证书的easy-rsa
cd easy-rsa/easyrsa3/
cp vars.example vars

#开始生成
./easyrsa init-pki
./easyrsa gen-req orangleliu #用自己的名字,需要创建一个密码  和 cn name,自己用的 需要记住

4. 客户签约服务

#现在客户端的证书要跟服务端的交互,也就是签约,这样这个用户才能使用此vpn
#切换到server证书目录下
cd /etc/openvpn/easy-rsa/easyrsa3/
./easyrsa import-req /home/client/easy-rsa/easyrsa3/pki/reqs/orangleliu.req orangleliu  #导入req
./easyrsa sign client orangleliu #用户签约,根据提示输入服务端的ca密码

5. 整理服务端证书

cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/keys
cp /etc/openvpn/easy-rsa/easyrsa3/pki/private/server.key /etc/openvpn/keys
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/server.crt /etc/openvpn/keys
cp /etc/openvpn/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn/keys

6. 修改OpenVPN配置文件

local 192.168.37.129
port
proto udp
dev tun
ca 

/etc/openvpn/keys/

ca.crt
cert 

/etc/openvpn/keys/

server.crt
key 

/etc/openvpn/keys/server.key

  # This file should be kept secret
dh 

/etc/openvpn/keys/

dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"

comp-lzo
max-clients
keepalive
persist-key
persist-tun
status openvpn-status.log
verb 

7. 启动OpenVPN服务

[root@localhost easyrsa3]# service openvpn start

8. 整理client证书

mkdir /home/myclient
cp /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt /home/myclient/
cp /etc/openvpn/easy-rsa/easyrsa3/pki/issued/orangleliu.crt  /home/myclient/
cp /home/client/easy-rsa/easyrsa3/pki/private/orangleliu.key /home/myclient/

9. 修改Client配置

# 复制一份client.conf模板命名为client.ovpn
/sample/sample-config-files/client.conf client.ovpn
# 编辑client.ovpn
vim client.ovpn

client
dev tun
proto udp
# OpenVPN服务器的外网IP和端口
remote
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert orangleliu.crt  # client1的证书
key orangleliu.key  # client1的密钥
ns-cert-type server

comp-lzo
verb 

并将client.ovpn 拷贝到/home/myclient供客户使用

10. 将客户证书和配置文件移到客户端

将/home/myclient下的文件copy到客户端的conf文件夹下。

[转]使用EasyRsa3为OpenVPN生成密码的更多相关文章

  1. Linux下随机生成密码的命令总结

    有时候经常为如何设置一个安全.符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结.终于有一天实在忍不住了,于是学习.整理了一下如何使用Linux下 ...

  2. 利用itertools生成密码字典,多线程撞库破解rar压缩文件密码

    脚本功能: 利用itertools生成密码字典(迭代器形式) 多线程并发从密码字典中取出密码进行验证 验证成功后把密码写入文件中保存 #!/usr/bin/env python # -*- codin ...

  3. centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课

    centos shell编程4[分发系统] 服务器标准化  mkpasswd 生成密码的工具  expect讲解   expect传递参数   expect自动同步文件  expect指定host和要 ...

  4. Linux 命令行生成密码的 10 种方式

    内容来自: 10 Ways to Generate a Random Password from the Linux Command Line Linux 好玩的事儿是达成一件事情可以用上百种方式. ...

  5. Linux系统下使用pwgen生成密码的使用教程

    pwgen生成的密码易于记忆且相当安全.从技术上来说,容易记忆的密码不会比随机生成的密码更加安全.但是,在大多数情况下,pwgen生成的密码已经足够安全,除了网银密码等需要高安全等级的情况外.使用易于 ...

  6. python 3 - 写一个自动生成密码文件的程序

    1.你输入几,文件里面就给你产生多少条密码 2.密码必须包括,大写字母.小写字母.数字.特殊字符 3.密码不能重复 4.密码都是随机产生的 5.密码长度6-11 import string,rando ...

  7. five86-1 (OpenNetadmin RCE+cp命令提权+crunch生成密码字典)

    Vulnhub-Five86-1 实验环境 kali攻击机ip:192.168.56.116 Five86-1靶机ip:192.168.56.121 知识点及工具 nmap扫描 john爆破 Open ...

  8. linux下用crunch工具生成密码

    crunch是一款linux下的压缩后仅仅38k的小程序,crunch程序在2004年及以前由email为的作者编写mimayin@aciiid.ath.cx,后续版本由bofh28@gmail.co ...

  9. Linux下的openvpn配置 与 easy-rsa3的证书生成

    #注意:以下操作由服务端操作即可#PS:为什么我找不到var文件??============安装===============wget -O /etc/yum.repos.d/epel.repo ht ...

随机推荐

  1. hdu 1279 验证角谷猜想

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1279 #include<stdlib.h> #include<time.h> ...

  2. 【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)

    前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现a ...

  3. 【转载】 Python动态生成变量

    用Python循环创建多个变量, 如创建 a1=   .a2=   .a3=   .a4=   .a5=    或  self.a1=    .self.a2=   . self.a3= 一. 可以通 ...

  4. Yii 同域名的单点登录 SSO实现

    SSO (Single Sign-on) 顾名思义就是几个子项目共用一个登录点. 原理简单来说就是服务端session 共享, 客户端跨域cookies. 实现非常简单,protected/confi ...

  5. Pyqt 设置 背景颜色和背景图片、 QPalette 调色板 与QPainter 画板区别 、 不规则图片

    设置 背景颜色和背景图片 首先设置autoFillBackground属性为真然后定义一个QPalette对象设置QPalette对象的背景属性(颜色或图片)最后设置QWidget对象的Palette ...

  6. 【Java EE 学习 21 下】【 使用易宝支付接口实现java网上支付功能】

    一.网上支付分为两种情况,一种方法是使用直接和银行的支付接口,另外一种方法是使用第三方支付平台和银行对接完成支付. 1.直接和银行对接. 2.使用第三方支付平台 3.常见的第三方支付平台 二.使用易宝 ...

  7. 攻城狮在路上(肆)How tomcat works(一) 简单的web服务器

     该节总共三个类:Request\Response\HttpServer---user.dir     该节的目的是实现简单web服务器对静态文件的访问.需要对请求头.请求体的格式有所了解,不然就没有 ...

  8. Bat脚本实现MySQL数据库SQL文件备份

    @echo offecho 在线兑奖系统自动备份脚本(请勿关闭) 联系人:  电话::loopset /a "FDate=%date:~,4%%date:~5,2%%date:~8,2%&q ...

  9. hdu 4050 2011北京赛区网络赛K 概率dp ***

    题目:给出1-n连续的方格,从0开始,每一个格子有4个状态,左右脚交替,向右跳,而且每一步的步长必须在给定的区间之内.当跳出n个格子或者没有格子可以跳的时候就结束了,求出游戏的期望步数 0:表示不能到 ...

  10. PMP 第十二章 项目采购管理

    1规划采购 2实施采购 3管理采购 4结束采购 1.合同的不同叫法?卖方的不同叫法? 2.规划采购管理的目的是什么?合同类型有哪些?不同的特点是什么?何种情况下应选择何种合同?自制或外购分析计算和合同 ...