目录

  • 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 是什么

  1. stunnel 是一个开源跨平台进行通信加密的软件。它可以对原生不支持加密通信的服务(如 FTP, Telnet 等)在上层提供加密功能, 而无须修改这些服务的代码。
  2. Stunnel 是一个可以用 SSL 对任意 TCP 连接加密的程序。它可以运行在多种 UNIX 和 Windows 上, 它是基于 OpenSSL 的, 所以它要求已经安装了 OpenSSL, 并进行了正确的配置。
  3. 由于 Stunnel 使用加密过的连接, 因此没有人能看到服务器端和客户端传送的数据。
  4. stunnel 是一个开源跨平台进行通信加密的软件。它可以对原生不支持加密通信的服务(如 FTP, Telnet 等)在上层提供加密功能, 而无须修改这些服务的代码。
  5. 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. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  2. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  3. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  4. pandas以前笔记

    # -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...

  5. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  6. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  7. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  8. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  9. 王道考研 计算机网络笔记 第五章:传输层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

最新文章

  1. 测试工具/PostMan
  2. 2018.1.15 6周1次课
  3. 使用antd报less的错误
  4. Latex 数学公式使用入门
  5. 运行catia_CATIA清除错误目录及防串链接
  6. UVa 129 - Krypton Factor(回溯法)
  7. tqdm使用(Python进度条)
  8. 麒麟810相当于骁龙多少?
  9. python做图像处理程序_python图像处理之镜像实现方法
  10. 尚硅谷Java入门视频教程(一)编程入门
  11. 航班预订系统测试用例
  12. 微弱信号检测技术在机械早期故障探查中的应用研究
  13. xps13 9360黑苹果
  14. 微信DAT文件转JPG图片(图片恢复)
  15. html中实现雪花飞舞,经典散文里雪花飞舞
  16. C中code定义的数据要存储在ROM程序存储区基于8051单片机C语言编程实例100例都用CODE定义数组。因为51单片机RAM128字节汇编语言标号代表指令所在ROM地址标号+DB定义数据在ROM
  17. 考研英语单词-近义词分类-Second Day
  18. tasklist 结束进程_windows
  19. win10调节桌面显示计算机,Win10系统电脑屏幕的饱和度如何调整?
  20. BTree与B+Tree图文详解

热门文章

  1. ComposieAggregate Reuse Principle 合成复用原则
  2. MyBatis_多表操作
  3. 《Docker技术入门与实战》 17 核心实现技术
  4. 22-移动端布局方式-rem
  5. 关于Node(你一定要知道的小秘密)
  6. Expandable Table Cell
  7. Linux小技巧之密码更改
  8. 最近兴起的元宇宙,Python几行代码就能撸
  9. 软件设计师中级- 系统安全分析与设计
  10. PhotoShop学习笔记(一):PhotoShop获得商品背景为透明图的图片