Linux使用Stunnel加密通道(SSL)
我们使用的是ubuntu系统
检查OpenSSL是否安装
首先先检查服务器有没有安装OpenSSL,Stunnel是基于OpenSSL的。输入以下代码检查,一般服务器都自带
openssl version -a
如果没有的话输入安装命令安装一下
sudo apt-get install openssl
sudo apt-get install libssl-dev
安装Stunnel
sudo apt-get install stunnel
stunnel在ubuntu上的配置文件是要放在/etc/stunnel/目录下的,用vim打开这个目录下的/etc/stunnel/README文件(vim /etc/stunnel/README
),就可以看到给的示例文件是在下边的路径上,实例文件可以参考使用
/usr/share/doc/stunnel4/examples/stunnel.conf-sample
生成pem证书
Tips:自签名证书不安全,可以使用安全的证书代替这一步骤直接上传到服务器对应目录。
openssl req -new -x509 -days 3650 -nodes -out stunnel.pem -keyout stunnel.pem
-new
创建一个新的证书-x509
创建一个 X509 证书(自己签名的)-days 3650
使这个证书的有效期是10年,之后它将不能再用-nodes
这个证书没有密码-out stunnel.pem
把 SSL 证书写到哪里-keyout stunnel.pem
把 SSL 证书放到这个文件中
执行之后会让填写一些证书信息,按照提示填写即可。
之后我们生成的pem证书移动到对应目录
mv stunnel.pem /etc/stunnel/
配置stunnel.conf
打开/新建配置文件
vim /etc/stunnel/stunnel.conf
编辑配置
;用户
setuid=root
setgid=root
;运行时创建该文件,里面有stunnel的pid号
pid=/var/run/stunnel.pid
;应用服务名称,可以自己随便定义,可创建多个
[stunnel]
;no服务端模式,yes客户端模式
client = no
;监听的端口
accept = 12345
;要连接的地址(IP地址:端口或端口)
connect = 1234
;证书文件
cert=/etc/stunnel/stunnel.pem
;无需key的话就不用填写,需要的话就填写。
;key=/etc/stunnel/stunnel.key
启动Stunnel
stunnel
执行后没有任何输错,表示执行成功
查看状态以及停止状态
查看运行状态
sudo netstat -anp |grep 端口
停止服务
sudo kill 4204
此外,若云服务器重启,Stunnel也需要重新启动,执行启动命令即可
测试证书
Openssl提供了简单的client和server工具,可以用来模拟SSL连接,做测试使用。
openssl s_client -connect 地址:端口
查看证书信息
openssl x509 -noout -text -in 证书
PEM转换成CER文件,就可以在Windows下直接查看了(可以使用lrzsz库sz命令下载)
openssl x509 -outform der -in pem证书 -out cer证书
版权声明:
作者:Teroun
链接:https://blog.bingxs.com/linuxsystunneljmtd.html
文章版权归作者所有,未经允许请勿转载。
THE END