SSLH:让HTTPS和SSH共享同一个端口

如果你遇到大多数端口被防火墙阻止的情况,你可以使用 SSLH 访问远程服务器。这个简短的教程描述了如何在类 Unix 操作系统中使用 SSLH 让 https、

大家好,SSLH:让HTTPS和SSH共享同一个端口相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于SSLH:让HTTPS和SSH共享同一个端口和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

一些ISP和公司可能会封锁大部分端口,并通过只允许访问少数特定端口(例如端口80和443)来加强安全性。在这种情况下我们别无选择,但同一个端口可以被多个程序使用,例如HTTPS 端口443,很少被阻止。在SSL/SSH 多路复用器SSLH 的帮助下,它侦听端口443 上的传入连接。更简单地说,SSLH 允许我们在Linux 系统上的端口443 上运行多个程序/服务。因此,您可以通过同一端口同时使用SSL 和SSH。如果遇到大部分端口被防火墙封锁的情况,可以使用SSLH访问远程服务器。这个简短的教程介绍了如何在类Unix 操作系统中使用SSLH 来允许https、ssh 共享同一端口。

SSLH:让 HTTPS、SSH 共享端口

安装 SSLH

SSLH 在大多数Linux 发行版上作为软件包提供,因此您可以使用默认软件包管理器安装它。

运行在Debian、Ubuntu 及其衍生版本上:

$ sudo apt-get install sslh 安装SSLH 时,系统会提示您是将sslh 作为从inetd 运行的服务还是作为独立服务器来运行。每个选项都有其自身的优点。如果每天只有几个连接,最好从inetd 运行sslh 以节省资源。另一方面,如果有很多连接,sslh 应作为独立服务器运行,以避免为每个传入连接生成一个新进程。

安装sslh

在Arch Linux 及其衍生版本(例如Antergos 和Manjaro Linux)上,使用Pacman 进行安装,如下所示:

$ sudo pacman -S sslh 在RHEL、CentOS 上,您需要添加EPEL 存储库,然后安装SSLH,如下所示:

SSLH:让HTTPS和SSH共享同一个端口

$ sudo yum install epel-release$ sudo yum install sslh 在Fedora 中:

$ sudo dnf install sslh 如果默认存储库中没有它,您可以按照此处所述手动编译和安装SSLH。

配置 Apache 或 Nginx Web 服务器

如您所知,Apache 和Nginx Web 服务器默认侦听所有网络接口(即0.0.0.0:443)。我们需要更改此设置以告诉Web 服务器仅侦听localhost 接口(即127.0.0.1:443 或localhost:443)。

为此,请编辑Web 服务器(nginx 或apache)配置文件并找到以下行:

监听443 ssl;将其修改为:

Listen 127.0.0.1:443 ssl;如果您使用带有Apache 的虚拟主机,请确保也对其进行修改。

VirtualHost 127.0.0.1:443 保存并关闭配置文件。不要重新启动该服务。我们还没有完成。

配置 SSLH

SSLH:让HTTPS和SSH共享同一个端口

使Web 服务器仅侦听本地接口后,编辑SSLH 配置文件:

$ sudo vi /etc/default/sslh 找到以下行:

Run=no 将其更改为:

Run=yes 然后,向下滚动一点并修改以下行,以允许SSLH 在所有可用接口上侦听端口443(例如0.0.0.0:443)。

DAEMON_OPTS=’–user sslh –listen 0.0.0.0:443 –ssh 127.0.0.1:22 –ssl 127.0.0.1:443 –pidfile /var/run/sslh/sslh.pid’这里,

user sslh:需要在此特定用户身份下运行。 listen 0.0.0.0:443:SSLH 侦听所有可用接口上的端口443。 sshs 127.0.0.1:22 : 将SSH 流量路由到本地端口22。 ssl 127.0.0.1:443 : 将HTTPS/SSL 流量路由到本地端口443。保存并关闭文件。

最后,启用并启动sslh 服务以更新更改。

$ sudo systemctl enable sslh$ sudo systemctl start sslh

测试

检查SSLH 守护进程是否正在侦听443。

SSLH:让HTTPS和SSH共享同一个端口

$ ps -ef | grep sslhsslh 2746 1 0 15:51? 00:00:00 /usr/sbin/sslh –foreground –user sslh –listen 0.0.0.0 443 –ssh 127.0.0.1 22 –ssl 127.0.0.1 4 43 –pidfile /var/run/sslh/sslh.pidsslh 2747 2746 0 15:51? 00:00:00 /usr/sbin/sslh –foreground –user sslh –listen 0.0.0.0 443 –ssh 127.0.0.1 22 –ssl 127.0 .0.1 443 –pidfile /var/run/sslh/sslh.pidsk 2754 1432 0 15:51 pts/0 00:00:00 grep –color=auto sslh 现在您可以使用端口443 通过SSH 访问远程服务器:

$ ssh -p 443 [email protected] 输出示例:

[email protected] 的密码:欢迎使用Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-55-generic x86_64)* 文档: https://help.ubuntu.com* 管理: https://landscape.canonical.com* 支持: https://ubuntu.com/advantage 系统信息为8 月14 日星期三13:11:04 IST 2019 系统负载: 0.23 进程: 101/: 的使用19.56GB 的53.5% 用户登录: 0 内存: enp0s3: 使用的9% IP 地址192.168.2 2 5.50交换使用量: 0% enp0s8:的IP地址192.168.225.51* 热衷于学习Istio ?它包含在单包MicroK8s.https://snapcraft.io/microk8s61包中可以更新。22个更新是安全更新。最后登录: Wed Aug 14 13:10:33 2019 from 127.0.0.1

使用端口443 通过SSH 访问远程系统

你看到了吗?现在,即使默认SSH 端口22 被阻止,我也可以通过SSH 连接到远程服务器。正如您在上面的示例中看到的,我使用https 端口443 进行SSH 连接。

我在我的Ubuntu 18.04 LTS 服务器上测试了SSLH,它工作正常,如上所述。我在受保护的局域网上测试了SSLH,所以我不知道是否存在安全问题。如果您在生产环境中使用它,请在下面的评论部分告诉我们使用SSLH 的优缺点。

有关更多详细信息,请查看下面给出的官方GitHub 页面。

资源:

用户评论

SSLH:让HTTPS和SSH共享同一个端口
顶个蘑菇闯天下i

看起来挺方便的,一个端口就能解决HTTPS和SSH的任务!这对于资源有限的情况来说确实很不错!

    有12位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
小清晰的声音

我一直不太懂SSHL,这个文章能否详细解释一下它的具体实现方式?像是是如何区分不同协议的请求呢?

    有15位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
花开丶若相惜

我觉得这是一个很有潜力的技术,可以让网络安全更加简单高效。不过也担心安全性问题,还需要更多的测试和验证。

    有12位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
丢了爱情i

SSLH确实能省点资源,但我还是习惯了分开使用 HTTPS 和 SSH ,这样感觉更清晰、更易于管理。大家怎么看?

    有12位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
病态的妖孽

这么一来,网站访问就更快了吧?不知道对用户体验会有多大影响呢?

    有8位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
念安я

虽然 SSLH 看起来很便利,但我还是担心会增加安全风险。毕竟混合多个协议在一个端口上可能导致一些漏洞…

    有8位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
々爱被冰凝固ゝ

这个方法能提高服务器安全性和性能吗?详细说说吧!

    有10位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
我就是这样一个人

一个端口共享HTTPS和SSH,听起来很有意思,但是会不会影响安全性呢?需要进一步了解一下它的工作原理。

    有9位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
执念,爱

我之前一直使用两种不同的端口来实现HTTPS 和 SSH , 现在看来 SSLH 可以简化服务器配置!很期待试试看效果。

    有17位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
命里缺他

这篇文章介绍的SSLH功能很棒,能有效减少服务器资源占用率,而且安全性也很可靠!

    有8位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
幸好是你

SSLH 让 HTTPS 和 SSH 共享一个端口确实省空间! 但如果遇到问题就不好排查了…

    有15位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
岁岁年年

这个 SSLH 的实现方式能否详细解释下?我看懂了吗?能不能给个示意图呀?我这种技术小白看得一头雾水…

    有7位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
如你所愿

SSLH能解决哪些安全问题的呢? 这篇文章应该提一下相关的安全性测试报告吧? 让我更加放心才能使用。

    有10位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
浅巷°

感觉 SSLH 这个方法挺棒的,可以提高服务器的效率和安全性!我马上就尝试着在服务器上实现看看效果!

    有11位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
枫无痕

SSLH 这个解决方案很棒啊,以前配置 HTTPS 和 SSH 总觉得麻烦,现在省去了一大堆步骤!太棒了!

    有13位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
雨后彩虹

SSLH 真的可以带来显著的性能提升吗?我非常想了解这个技术的详细表现 分析,并期待看到实际应用案例!

    有18位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
容纳我ii

之前一直分开的用 HTTPS 和 SSH ,现在SSLH 可以共享端口,感觉效率更高了。要试一下,看看效果如何!

    有12位网友表示赞同!

SSLH:让HTTPS和SSH共享同一个端口
逾期不候

SSLH 确实听起来很便捷,但担心安全性问题,需要仔细研究下技术的细节才能放心使用。

    有6位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/122744.html

(0)
小su's avatar小su
上一篇 2024年9月1日 下午4:20
下一篇 2024年9月1日 下午4:24

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注