SSH可以使用thttpd通过HTTPS隧道吗?

我需要使用thttpd通过HTTPS端口来隧道SSH服务器(如果需要,我可以更改为lighttpd,但是我试图避免安装Apache,因为它是一个动力不足的框)。 我一直无法find任何证实或否认thttpd的能力。

如果它具有TCP / IP侦听端口,则可以为其build立一个SSH隧道。 您可能需要先检查端口是否已经在客户端系统上使用。 您可以使用netstat命令在Windows上执行此操作

# netstat -ano 

在Linux上

 # netstat -anut |grep LISTEN 

SSH隧道可能有点难以让你的头。 所有的图表和例子在网上,即使我感到困惑,我每天使用隧道。 我觉得最好是这样想:您的SSH客户端打开到服务器的连接,并将端口从该networkingredirect到您的客户端系统,为您的客户端系统上的每个redirect创build一个侦听端口。

– * – 客户端系统是您使用SSH客户端的系统,也可以称为您的本地系统

听起来就像你想要一个HTTPS端口443隧道的例子!

从Windows客户端系统

这个例子将使用Putty下载站点上的Windows“Putty”客户端。我们假设您在运行SSH服务器的同一个系统上的端口443上运行HTTPS。 我们将使用127.0.0.1的本地主机IP地址(127.0.0.1将始终返回您login的系统)

从您的腻子窗口导航左列“类别”选项菜单。 展开“连接”>“SSH”>“隧道”菜单。 在“源端口”文本框中input443 ,在“目标”文本框中input127.0.0.1:443,然后点击添加button。 “转发的端口”文本区域现在将显示“L443 127.0.0.1:443”

替代文字http://www.hilands.com/img/extern/tunnel_https_localhost.jpg

从Linuxterminal

这应该工作我没有testing它,虽然….

 # ssh -L 443:127.0.0.1:443 <sshuser>@<sshserver ip> 

但我的SSH服务器驻留在不同于我的HTTPS服务器的服务器上!

这很容易将上面示例中的127.0.0.1replace为SSH服务器用来连接到HTTPS服务器的IP地址!

疑难杂症

configurationssh隧道后,您现在可以在客户端机器上打开浏览器。 而不是转到正常的IP地址端口443,您将在本地浏览器中使用127.0.0.1。

 https://127.0.0.1 

这样做可能会破坏您的SSL证书。 在Firefox中,您将收到以下错误信息:

替代文字http://www.hilands.com/img/extern/ssl_error.jpg继续通过提示,并允许您的证书&#x3002;

你试过了吗? 如果没有,为什么不呢? 为什么在这里问一个问题,如果你还没有尝试过的话,那么这个问题有效? 只要你只是在谈论使用端口443来通过一些防火墙,而不是真正的通过HTTPS隧道,那么它应该工作得很好(从你的问题,这是不是很清楚,你提到两个)。

我根本不知道thttpd。 我几乎不知道lighttpd。

但是,如果他们可以提供HTTPS,则可以使用SSL Explorer等工具。 它可以做更多的事情,比让你SSH访问你的networking。

否则,这些工具可能会帮助您:

  • 安全通道
  • 螺旋形的
  • proxytunnel

有些甚至可以使用传统的HTTP(不需要SSL / TLS)。

如果你只是需要一个terminal到你的盒子,尝试Ajaxterm

虽然Putty可以正常工作,但是我build议您使用不同的选项:使用WinSSHD和Tunnelier作为客户端,您可以创build一个很好的隧道( 显然,在端口443上,而不是技术上的https,但也许足够好 )。