2

我即将开始一个为 Windows 机器编写远程控制软件的项目,我想从服务器端应用程序开始。我需要 OpenSSH 服务器之类的东西,因为该程序的主要目的是通过服务器提供客户端的 http 隧道,类似于代理但更安全且具有加密功能。我有一些经验,主要是在 C++ 或 Python 中使用几个基于 unix 的守护进程和客户端,但在这里我面临着更大的问题。我现在的主要问题是隧道部分 - 我不知道该怎么做,实施起来非常重要。客户端应该能够通过服务器上网(如 SSH 隧道),但我不知道这是如何工作的。我希望有人向我指出一些很好的链接,这些链接解释得很好,

谢谢。

4

4 回答 4

1

我目前在一个项目中使用 openvpn 隧道组合到 Windows 机器,然后在 Windows 上使用 Cygwin 对 Windows 机器进行 SSH 访问。它有效,很简单,而且是免费的 :)

http://www.cygwin.com/

于 2012-01-27T02:41:47.033 回答
0

不确定这是否是您需要的,但我想您可以使用 VPN。OpenVPN 构建了一个加密的 vpn,您可以将其配置为向客户端发送网关(使用 DHCP)和您想要的路由,这样您就可以通过加密连接将所有客户端 http 流量重定向到您想要的服务器。

博士。如果需要,请链接

于 2010-06-28T15:15:32.330 回答
0

您可以在 Windows 上运行 OpenSSH 服务器,例如:http ://sshwindows.sourceforge.net/

不幸的是,这个特定的链接指向了一个 2004 年发布的最新版本的死项目。自 2004 年以来有多少安全更新?大于零,我敢肯定...

于 2010-07-14T20:58:34.840 回答
0

你没有描述你想要提供安全性的威胁,所以我假设你想防止位于客户端和服务器之间的攻击者读取和/或修改网络流量,这就是为什么你需要加密。

为此,您无需编写自己的代码。相反,您可以通过在服务器上运行 HTTP 代理(例如 squid)和 SSH 服务器(例如 openssh)并通过 SSH 对 HTTP 代理进行隧道访问来获得所需的内容。

您可以将 HTTP 代理配置为仅接受来自“localhost”的连接,而 SSH 服务器接受来自您的客户端系统的连接。

可以在http://kimmo.suominen.com/docs/proxy-through-ssh/找到有关如何从 Windows 客户端使用此类设置的很好描述(它描述了使用此类设置从互联网,但原理是一样的)

为了安全起见,您需要检查 SSH 服务器配置文件并禁用除访问 HTTP 代理所需的一个特定端口的端口转发之外的所有内容。

这就是您所说的“主要目的”。如果您需要服务器代表客户端执行其他操作,我的建议是将它们实现为在服务器上运行的单独应用程序,并使用 HTTP 接口(CherryPy 是在 python 中执行此操作的一种简单方法)客户端可以通过 HTTP 代理访问。

于 2010-06-26T15:39:31.100 回答