通过 ssh 隧道连接互联网,然后通过代理

通过 ssh 隧道连接互联网,然后通过代理

我有一台 IP 为 10.5.1.60 的 Windows 机器,我们把它称为 X。我可以通过 SSH 连接到一台 IP 为 10.1.32.7 的 Linux 机器,我们称之为 Y。Y 使用 HTTP 代理 10.25.0.42:3128 连接到互联网,即在 Y 上,您打开浏览器,提供凭据即可连接到互联网。

现在我想从 X 通过 Y 访问互联网(通过 SSH)。

X(10.5.1.60)--SSH-->10.1.32.7--Http代理-->10.25.0.42:3128-->Internet。

这是我到目前为止尝试过的:1.为 Windows 安装 Putty。在 SSH 的连接设置下,添加动态端口 4567 作为源,并添加 10.25.0.42:3128 作为目标。打开连接,登录 10.1.32.7。打开我的 Windows Firefox,添加 127.0.0.1:4567 作为 SOCKS 5 代理(启用远程 DNS)。但仍然无法上网!!

2.尝试为 Windows 安装 Bitvise SSH。在 C2S 设置中添加了一条规则,将 localhost:4567 改为 10.25.0.42:3128.....仍然没有结果。尝试将其更改为 localhost:4567 改为 10.1.32.7:80,可以在 10.1.32.7 上访问 apache 服务器页面

3.在 Windows 上安装 MiniGW 并输入:

ssh -N -L 8080:10.25.0.42:3128 [email protected]

终端要求输入密码,输入密码后终端就会冻结。

有人能指导我如何在我的电脑上访问互联网吗?

答案1

解决方案

你的第一个方法是尝试一下,这个:

  1. 打开 Putty
  2. 主机名= 10.1.32.7
  3. 端口= 22
  4. 转到连接,然后转到 SSH,然后转到隧道
  5. 源端口= 4567
  6. 目的地= 10.25.0.42:3128
  7. 勾选本地
  8. 单击“添加”
  9. 返回会话
  10. 然后点击打开
  11. 打开 Firefox
  12. 打开选项
  13. 转到“高级”,然后“网络”,然后“设置”
  14. 勾选手动代理配置
  15. HTTP 代理= 127.0.0.1
  16. 端口= 4567
  17. 勾选对所有协议使用此代理服务器
  18. 单击“确定”

解释

我所做的是让 ssh 监听 X 上的端口 4567,然后通过 Y 将任何数据发送到 10.25.0.42:3128。这是本地所做的;但是动态使 ssh 充当代理,因此它必须处理连接以确定目的地。

相关内容