生成openVPN客户端配置的shell脚本

2023-10-26

 脚本介绍

  • 在服务端`/etc/openvpn/`目录下存放该脚本`client.sh`

 

 脚本运行


运行方式

./client.sh client_name


client_name填你想输入的客户端名称,例如

 

输入yes,和相应的ca密钥

 

运行成功如图,生成的压缩包在clients目录下

 

**window客户端需要注意**:脚本生成的文件需要把原来的client.crt和client.key删除,然后将新生成的客户端名字如liufang2所对应的文件修改client.crt和client.key详情如下图

 

**修改完成之后,把上面所有的配置文件拷贝到C:\Program Files\OpenVPN\config 目录或者C:\Users\liuf13\OpenVPN\config目录下即可~**

脚本具体实现

#!/bin/bash
#生产客户端的证书和密钥,客户端名称可以自己配置
client_name=$1
cd /etc/openvpn/easy-rsa;
./easyrsa build-client-full ${client_name} nopass;

#创建文件夹,将所有文件复制到该路径下
cd /etc/openvpn/;
mkdir ${client_name};
cd ${client_name};
cp /etc/openvpn/easy-rsa/pki/ca.crt .
cp /etc/openvpn/client/client.conf .;
#做字符串拼接,将client_name和对应的密钥和证书的后缀名作拼接
a=".crt"
crt="${client_name}${a}"
cp /etc/openvpn/easy-rsa/pki/issued/${crt} .;
b=".key"
key="${client_name}${b}"
cp /etc/openvpn/easy-rsa/pki/private/${key} .

cp /etc/openvpn/easy-rsa/ta.key .

#将密钥和证书作软链接
orgin_crtname="client.crt"
ln -s ${crt} ${orgin_crtname};
orgin_keyname="client.key"
ln -s ${key} ${orgin_keyname};

#将所有文件打包到clients目录下(clients目录如果没有,自己创建一个)
cd ..
dir=${client_name}
c=".tar.gz"
dir="${dir}${c}"
tar -zcvf ./clients/${dir} ${client_name}

#删除原先的文件夹
rm -rf ${client_name}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成openVPN客户端配置的shell脚本 的相关文章

  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • “make install”将库安装在 /usr/lib 而不是 /usr/lib64

    我正在尝试在 64 位 CentOS 7 2 上构建并安装一个库 为了这个目的我正在跑步 cmake DCMAKE BUILD TYPE Release DCMAKE INSTALL PREFIX usr DCMAKE C COMPILER
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg
  • 带有变量 bash 的降序循环

    cat fromhere sh bin bash FROMHERE 10 for i in seq FROMHERE 1 do echo i done sh fromhere sh 为什么不起作用 我找不到任何在谷歌中搜索降序循环的示例 甚
  • Urwid:使光标不可见

    我正在使用 urwid 它是一个用于在 ncurses 中设计终端用户界面的 Python 框架 但有一件事我在 urwid 中无法做到 而这在 Curses 中很容易做到 使光标不可见 现在 选择按钮时光标是可见的 而且看起来很丑 有办法
  • 如何在 OS X 上查看 $PATH 变量的当前值?

    PATH returns bash usr local share npm bin Library Frameworks Python framework Versions 2 7 bin usr local bin usr local s
  • 监控子进程的内存使用情况

    我有一个 Linux 守护进程 它分叉几个子进程并监视它们是否崩溃 根据需要重新启动 如果父进程可以监视子进程的内存使用情况 以检测内存泄漏并在超出一定大小时重新启动子进程 那就太好了 我怎样才能做到这一点 您应该能够从 proc PID
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • Mcrt1.o和Scrt1.o有什么用?

    我坚持使用以下两个文件 即 Mcrt1 o 和 Scrt1 o 谁能帮我知道这两个文件的用途 如何使用它 我们以 gcrt1 o 为例 在使用 pg 选项编译进行性能测试时非常有用 谢谢 表格的文件 crt o总是 C 运行时启动代码 大部
  • Python 脚本作为 Linux 服务/守护进程

    Hallo 我试图让 python 脚本作为服务 守护进程 在 ubuntu linux 上运行 网络上存在多种解决方案 例如 http pypi python org pypi python daemon http pypi python
  • bash循环跳过注释行

    我正在循环文件中的行 我只需要跳过以 开头的行 我怎么做 bin sh while read line do if line doesn t start with then echo line fi done lt tmp myfile 谢
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用
  • 如何检测脚本是否正在被获取

    我有一个脚本 我不希望它调用exit如果它正在被采购 我想检查一下是否 0 bash但是如果脚本源自另一个脚本 或者用户从不同的 shell 获取它 例如ksh 有没有可靠的方法来检测脚本是否来源 稳健的解决方案bash ksh zsh 包
  • 每当 SQLERROR 永远不起作用时

    我不知道可能是什么原因 我已经在网上花了几个小时试图找出我的情况出了什么问题 我查过官方文档 https docs oracle com cd B19306 01 server 102 b14357 ch12052 htm还有一些汤姆 凯特
  • Fedora dnf 更新不起作用?

    当我尝试使用 update 命令更新 Fedora 22 时 sudo dnf update 我收到以下错误 错误 无法同步存储库 更新 的缓存 无法准备内部镜像列表 Curl 错误 6 无法解析主机名 无法解析主机 mirrors fed

随机推荐

  • Qt 5 架构和特点

    Qt 5 模块构架 模块 功能 Qt Core Qt 5 的核心类库 每个模块都建立在Core上 Qt GUI 图形用户界面开发的最基础的类库 Qt Widgets 提供c 用户界面部件 是对Qt GUI的拓展 Qt SQL 对数据库进行操
  • ios开发入门

    开发一个应用程序看起来复杂 实际上我们可以分为以下几个方面来看 设计用户界面 定义交互 实现行为 整合数据 我们这里需要先提一种典型的软件设计典范 也就是我们常说的MVC模式 业务模型 Model 用户界面 View 页面业务逻辑 Cont
  • web前端炫酷实用的HTML5应用和jQuery插件

    又开始了新的一天 我们也将继续为大家分享许多优秀的HTML5应用和jQuery插件 作为前端开发者来说 这些资源可以帮助你在项目开发上派上用场 下面一起来看看这些炫酷而实用的HTML5应用和jQuery插件吧 1 jQuery CSS3图片
  • AI+无线通信

    1 赛题与数据 官方介绍已经比较清楚了 按照需要下载对应的文件 博主使用的是pytorch版本 2 代码的本地部署 2 1 文件列表 示例程序文件有以下几个文件 Model define pytorch py 在这个文件设计网络结构 设计
  • Redis----布隆过滤器

    目录 背景 解决方案 什么是布隆过滤器 布隆过滤器的原理 一些其他运用 背景 比如我们在观看新闻或者刷微博的时候 会不停地给我们推荐新的内容 我们发现几乎没有重复的 说明后台已经进行了去重处理 基于如何去重 Redis给出了高效的方案 布隆
  • shell脚本之实现menu菜单

    bin bash function copy read p please input your old file old file read p please input your new file new file cp r old fi
  • 目标检测 基于IOU的匹配算法

    目标检测是计算机视觉领域的一个重要研究方向 旨在通过算法识别出图像中存在的目标物体 并对其进行分类 定位和跟踪等任务 而基于IOU的匹配算法是目标检测中常用的一种算法 其原理是通过计算目标框之间的重叠率 IOU 来确定目标检测算法所预测的目
  • 什么是哈希算法?

    哈希算法的基本含义 哈希是密码学的基础 理解哈希是理解数字签名和加密通信等技术的必要前提 哈希 英文是 hash 本来意思是 切碎并搅拌 有一种食物就叫 Hash 就是把食材切碎并搅拌一下做成的 哈希函数的运算结果就是哈希值 通常简称为哈希
  • iframe允许嵌入的视频全屏播放

    iframe允许嵌入的视频全屏播放 设置 allowfullscreen true
  • 记一次修改DiyBox的经历(openwrt固件解包与打包)

    吐槽几句 做技术的有无私造福人类的 也有耍流氓坑人的 说的不是DiyBox 而是 信利 信利就是一家犯贱 祸害大学生 助纣为虐的流氓公司 其所谓的 防私接 技术让电信和移动牢牢的垄断着学校的宽带资源 还让学生花费了大量的冤枉钱 当然 有狗熊
  • openGL之API学习(二十九)glDepthRange

    将规范化的深度范围 1 1 通过线性变换映射到 nearVal farVal 这个范围不能超出 0 1 这个函数的作用一般是分层渲染 比如要渲染一副从窗户看外面世界的场景 可以将外面场景的深度值映射为0 5 1 将室内场景深度值映射为0 0
  • 第二篇:C语言中实现两个数的加法运算

    代码展示 实现两个数的加法运算 include
  • TCP协议

    1 TCP协议基本概念 RFCs 793 1122 1323 2018 2581 1 1 TCP协议的特点 点对点 一个发送方 一个接收方 可靠的 按序的字节流 可靠的 多种确保可靠性的机制 字节流服务 8bit 1Byte 为最小单位构成
  • 好的软件架构设计

    什么是软件架构 前言 软体设计师中有一些技术水平较高 经验较为丰富的人 他们需要承担软件系统的架构设计 也就是需要设计系统的元件如何划分 元件之间如何发生相互作用 以及系统中逻辑的 物理的 系统的重要决定的作出 在很多公司中 架构师不是一个
  • 在VS中配置VTK

    VTK与VS结合使用有两种配置方式 一种是配置cmake 一种是配置VS 两者配置一者即可 我这里只讲解一下配置VS的步骤吧 我用的是VS2010 打开VS 找到属性 在VC 目录中修改包含目录和库目录为自己安装VTK的include和li
  • 华为OD机试真题-最多等和不相交连续子序列【2023Q2】【JAVA、Python、C++】

    题目描述 给定一个数组 我们称其中连续的元素为连续子序列 称这些元素的和为连续子序列的和 数组中可能存在几组连续子序列 组内的连续子序列互不相交且有相同的和 求一组连续子序列 组内子序列的数目最多 输出这个数目 输入描述 第一行输入为数组长
  • 怎么用计算机算lnx,ln计算(log计算器在线)

    ln MN lnM lnN ln M N lnM lnN ln M n nlnM ln1 0 lne 1 注意 拆开后 M N需要大于0 没有 ln M N lnM lnN 和ln M N lnM lnN lnx 是e x的反函数 也就是说
  • 华为设置android系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...

    华为手机短信提醒设置方法 1 检查当前设置的默认短信应用是哪个应用 点击桌面 设置 图标 找到 应用程序管理 选择 默认应用设置 选择 信息 可以看到当前正在使用的默认短信应用名称 如果使用的是第三方短信应用 请将 信息 勾选 改为使用默认
  • 制造蝴蝶飓风,微众区块链的蝶变和ESG新使命

    时间来到新世纪 共同繁荣 人与自然和谐发展等成为全球共识的背景下 越来越多的国家和组织开始践行ESG 环境 社会和公司治理 理念 在中国 乡村振兴 共同富裕 双碳战略 数字经济等国家级战略的推出 也旨在推动 效率优先 的发展模式 向公平与可
  • 生成openVPN客户端配置的shell脚本

    脚本介绍 在服务端 etc openvpn 目录下存放该脚本 client sh 脚本运行 运行方式 client sh client name client name填你想输入的客户端名称 例如 输入yes 和相应的ca密钥 运行成功如图