[转]使用EasyRsa3为OpenVPN生成密码
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生成密码的更多相关文章
- Linux下随机生成密码的命令总结
有时候经常为如何设置一个安全.符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结.终于有一天实在忍不住了,于是学习.整理了一下如何使用Linux下 ...
- 利用itertools生成密码字典,多线程撞库破解rar压缩文件密码
脚本功能: 利用itertools生成密码字典(迭代器形式) 多线程并发从密码字典中取出密码进行验证 验证成功后把密码写入文件中保存 #!/usr/bin/env python # -*- codin ...
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
centos shell编程4[分发系统] 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要 ...
- Linux 命令行生成密码的 10 种方式
内容来自: 10 Ways to Generate a Random Password from the Linux Command Line Linux 好玩的事儿是达成一件事情可以用上百种方式. ...
- Linux系统下使用pwgen生成密码的使用教程
pwgen生成的密码易于记忆且相当安全.从技术上来说,容易记忆的密码不会比随机生成的密码更加安全.但是,在大多数情况下,pwgen生成的密码已经足够安全,除了网银密码等需要高安全等级的情况外.使用易于 ...
- python 3 - 写一个自动生成密码文件的程序
1.你输入几,文件里面就给你产生多少条密码 2.密码必须包括,大写字母.小写字母.数字.特殊字符 3.密码不能重复 4.密码都是随机产生的 5.密码长度6-11 import string,rando ...
- 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 ...
- linux下用crunch工具生成密码
crunch是一款linux下的压缩后仅仅38k的小程序,crunch程序在2004年及以前由email为的作者编写mimayin@aciiid.ath.cx,后续版本由bofh28@gmail.co ...
- Linux下的openvpn配置 与 easy-rsa3的证书生成
#注意:以下操作由服务端操作即可#PS:为什么我找不到var文件??============安装===============wget -O /etc/yum.repos.d/epel.repo ht ...
随机推荐
- NMON中的各项参数指标
一.NMON中的各项参数指标: SYS_SUMM:显示当前服务器的总体性能情况 Total System I/OStatistics:Avg tps during an interval:显示采集间隔 ...
- nfs 是Network File System 网络文件系统
NFS的基本原刚是容许不同的客户端及服务通过一组PRC分享相同的文件系统,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享.NFS在文件传送过程中依赖于RPC协议.远程过程调用Rem ...
- ASP.NET的Cookie和Session
HTTP属于应用层,HTTP协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无状态HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就 ...
- 【php全局变量和静态变量、静态方法的使用方法】
php全局变量使用关键字global声明,静态变量使用static声明,静态变量的使用可以使用 类名::变量名 示例代码: <?php //全局变量global 的用法和静态变量的使用 glob ...
- Android 线程更新UI报错 : Can't create handler inside thread that has not called Looper.prepare()
MainActivity中有一个按钮,绑定了save方法 public void save(View view) { String title = titleText.getText().toStri ...
- csipsimple,linphone,webrtc比较
转自: http://www.lxway.com/566299526.htm 最新要做一个移动端视频通话软件,大致看了下现有的开源软件 一) sipdroid1)架构sip协议栈使用JAVA实现,音频 ...
- WPF之MVVM(Step3)——使用Prism(1)
使用WPF-MVVM开发时,自己实现通知接口.DelegateCommand相对来说还是用的较少,我们更多的是使用第三方的MVVM框架,其中微软自身团队提供的就有Prism框架,此框架功能较多,本人现 ...
- Arduino101学习笔记(十)—— 串口通信
//打开串口 Serial.begin(); //获取串口上可读取的数据的字节数.该数据是指已经到达并存储在接收缓存(共有64字节)中 Serial.available(); //读串口数据,串口上第 ...
- jdk 1.8 Executors
Class Executors java.lang.Object java.util.concurrent.Executors public class Executors extends Objec ...
- lr中switch的应用
Action() { char *time; int i,j,length; time=lr_eval_string("{testtime}"); lr_error_message ...