frp ssl证书配置 密钥生成

对于frp安全传输非常重要
这里是对传输的端口进行证书加密

frp的配置使用可以参考我的这篇博客:
链接: frp安装配置

一、生成密钥

以下命令在linux下演示,windows下命令也是一致,但是需要自己去配置,可能有很多坑,建议直接用linux生成。
放到哪里都行,我这放到了frp的目录下,如果按照我的教程安装的直接用

mkdir /usr/local/frp/cert && cd /usr/local/frp/cert

1.OpenSSL 配置文件拷贝到当前目录

openssl一般都自带,无需安装,如果没有则安装openssl

apt-get install openssl 

dnf install openssl

查找my-openssl.cnf

find / -name "openssl.cnf"

我的位置是在/etc/ssl下,复制到/usr/local/frp/cert中

cp /etc/ssl/openssl.cnf ./my-openssl.cnf

2.生成ca

直接抄

openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -subj "/CN=example.ca.com" -days 5000 -out ca.crt

3.生成frps的证书

openssl genrsa -out server.key 2048

注意,下面这条两条命令的127.0.0.1改成你的公网服务器的ip,否则无法使用

openssl req -new -sha256 -key server.key \
    -subj "/C=XX/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=server.com" \
    -reqexts SAN \
    -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:localhost,IP:127.0.0.1,DNS:example.server.com")) \
    -out server.csr

注意这一条的365是365天,如果不想麻烦就加个0吧

openssl x509 -req -days 365 -sha256 \
    -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
    -extfile <(printf "subjectAltName=DNS:localhost,IP:127.0.0.1,DNS:example.server.com") \
    -out server.crt

4.生成frpc的证书

直接抄

openssl genrsa -out client.key 2048
openssl req -new -sha256 -key client.key \
    -subj "/C=XX/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=client.com" \
    -reqexts SAN \
    -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:client.com,DNS:example.client.com")) \
    -out client.csr

注意这一条的365是365天,如果不想麻烦就加个0吧

openssl x509 -req -days 365 -sha256 \
    -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
    -extfile <(printf "subjectAltName=DNS:client.com,DNS:example.client.com") \
    -out client.crt

二、部署到服务端(frps)

由于是在公网ip的服务器创建密钥的,所以直接修改就行

vi /usr/local/frp/frps.ini

最后面加上

# 证书,双向验证,frps验证frpc,同时frpc验证frps
tls_only = true
tls_cert_file = /usr/local/frp/cert/server.crt
tls_key_file = /usr/local/frp/cert/server.key
tls_trusted_ca_file = /to/ca/path/ca.crt

保存并重启

systemctl restart frps

三、部署到客户端(frpc)

客户端需要将生成的以下三个文件下载下来:
客户端以linux为例,windows方法一致,图形化界面就不演示了
client.crt、client.key、ca.crt

1.创建客户端的文件夹

mkdir /usr/local/frp/cert && cd /usr/local/frp/cert

上传上面的三个文件

编辑配置文件

vi /usr/local/frp/frpc.ini

在common中添加

# 证书,双向验证,frps验证frpc,同时frpc验证frps
tls_only = true
tls_enable = true
tls_cert_file = /usr/local/frp/cert/client.crt
tls_key_file = /usr/local/frp/cert/client.key
tls_trusted_ca_file = /usr/local/frp/cert/ca.crt

保存并重启

systemctl restart frpc

四、其它情况

如果使用stcp或者xtcp,这时候访问也需要配置证书,否则无法使用,方法同部署到客户端的

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ziqibit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值