Stunnel 笔记
目录
- 1. Stunnel 笔记
- 1.1. Stunnel 是什么
- 1.2. Stunnel 安装
- 1.3. Stunnel/SSH
- 1.3.1. Overview
- 1.3.2. Setting up client
- 1.3.3. Setting up server
- 1.3.4. Testing
- 1.3.5. MacOS settings
- 1.3.6. 参考
- 1.4. 问题排查
- 1.4.1. You should check that you have specified the pid= in you configuration file
- 1.4.2. SSL: EE_KEY_TOO_SMALL
- 1.4.3. 生成证书
1. Stunnel 笔记
1.1. Stunnel 是什么
- stunnel 是一个开源跨平台进行通信加密的软件。它可以对原生不支持加密通信的服务(如 FTP, Telnet 等)在上层提供加密功能, 而无须修改这些服务的代码。
- Stunnel 是一个可以用 SSL 对任意 TCP 连接加密的程序。它可以运行在多种 UNIX 和 Windows 上, 它是基于 OpenSSL 的, 所以它要求已经安装了 OpenSSL, 并进行了正确的配置。
- 由于 Stunnel 使用加密过的连接, 因此没有人能看到服务器端和客户端传送的数据。
- stunnel 是一个开源跨平台进行通信加密的软件。它可以对原生不支持加密通信的服务(如 FTP, Telnet 等)在上层提供加密功能, 而无须修改这些服务的代码。
- Stunnel 是一款全局加密传输软件 (https://www.stunnel.org/), 工作在 Unix 和 Windows 平台上, 作为代理, 可以将应用程序发送的明文 TCP 流量加密, 而无需重新配置应用程序本身。明文数据的例子包括 POP3、IMAP、SMTP 以及 HTTP 应用程序生成的任何内容。一旦将 stunnel 配置为加密数据隧道, 通过该端口发送的任何内容都将使用 SSL 加密。两端都需要安装 Stunnel, 以便在传递到适当的应用程序之前将流量返回到明文。
1.2. Stunnel 安装
sudo apt-get install stunnel4
1.3. Stunnel/SSH
1.3.1. Overview
------------------------------------------------------- -------------------------------------------------------
| terminal, ssh client --> (port 3333) stunnel client | --> | (port 2222) stunnel server --> (port 22) ssh server |
------------------------------------------------------- -------------------------------------------------------local remote server
1.3.2. Setting up client
# client config,
# will ssh directly to local port 3333
# ssh -p 3333 root@localhost
# stunnel client connects to remote stunnel server at IP A.B.C.D over external port 2222output = /var/log/stunnel4/stunnel.log
cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem
pid = /var/run/stunnel4/stunnel.pid
client = yes
[ssh]
accept = 127.0.0.1:3333
connect = A.B.C.D:2222 # A.B.C.D is the remote server address.
1.3.3. Setting up server
# server config,
# stunnel server will listen for stunnel clients connecting on port 2222
# traffic will be decrypted and forwarded to local port 22output = /var/log/stunnel4/stunnel.log
cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem
pid = /var/run/stunnel4/stunnel.pid
client = no
[ssh]
accept = 2222
connect = 127.0.0.1:22
1.3.4. Testing
[client] $ ssh -p 2222 root@localhost<enter root password for the remote server>[remote] $ whoami
root[remote] $
1.3.5. MacOS settings
brew install stunnel
1.3.6. 参考
- Stunnel/SSH
1.4. 问题排查
1.4.1. You should check that you have specified the pid= in you configuration file
这个错误信息可能会让你误以为是配置出现了错误, 但通过查看 log 会发现, 原来错误原因是端口已经被占用了。
1.4.2. SSL: EE_KEY_TOO_SMALL
原因是使用的私钥长度太短了, 需要高于 1024 位, 需要再重新生成一个 2048 位的密钥和证书。
1.4.3. 生成证书
这里只留作参阅,操作起来太麻烦了,推荐一键式的: 使用 OpenSSL 生成 HTTPS 证书
openssl genrsa 2048 > stunnel.key
openssl req -new -key stunnel.key -x509 -days 1000 -out stunnel.crt
cat stunnel.crt stunnel.key > stunnel.pem
参考自这里
Stunnel 笔记相关推荐
- 【读书笔记】知易行难,多实践
前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...
- 【运维学习笔记】生命不息,搞事开始。。。
001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...
- SSAN 关系抽取 论文笔记
20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...
- pandas以前笔记
# -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移
暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...
- 王道考研 计算机网络笔记 第六章:应用层
本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...
- 王道考研 计算机网络笔记 第五章:传输层
本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...
最新文章
- 测试工具/PostMan
- 2018.1.15 6周1次课
- 使用antd报less的错误
- Latex 数学公式使用入门
- 运行catia_CATIA清除错误目录及防串链接
- UVa 129 - Krypton Factor(回溯法)
- tqdm使用(Python进度条)
- 麒麟810相当于骁龙多少?
- python做图像处理程序_python图像处理之镜像实现方法
- 尚硅谷Java入门视频教程(一)编程入门
- 航班预订系统测试用例
- 微弱信号检测技术在机械早期故障探查中的应用研究
- xps13 9360黑苹果
- 微信DAT文件转JPG图片(图片恢复)
- html中实现雪花飞舞,经典散文里雪花飞舞
- C中code定义的数据要存储在ROM程序存储区基于8051单片机C语言编程实例100例都用CODE定义数组。因为51单片机RAM128字节汇编语言标号代表指令所在ROM地址标号+DB定义数据在ROM
- 考研英语单词-近义词分类-Second Day
- tasklist 结束进程_windows
- win10调节桌面显示计算机,Win10系统电脑屏幕的饱和度如何调整?
- BTree与B+Tree图文详解