Jak*_*old 40 http ssh proxy ssh-tunnel
说我有一个server和client。我需要像代理一样创建从client到website通过的连接server。
是否可以使用 SSH tunel 来做到这一点,或者我必须安装一些代理服务到server?
Wie*_*zny 55
您可以使用 ssh 执行此操作
ssh -L 80:remotehost:80 user@myserver
Run Code Online (Sandbox Code Playgroud)
然后,您将拥有从本地端口 80 到远程主机端口 80 的隧道。这不必与 myserver 相同。为了使其透明,您应该向主机文件添加一个条目。如果你不这样做,虚拟主机将无法工作。如果你想要一个 SOCKS 代理连接,你也可以使用
ssh -D 5000 user@myserver
Run Code Online (Sandbox Code Playgroud)
这将在本地主机端口 5000 上创建一个 SOCKS 代理,它通过 myserver 路由所有请求。
mr-*_*uro 17
对的,这是可能的。
运行ssh -D port user@host并设置您的客户端以将您的盒子用作 SOCKS 代理。
如果你特别需要一个 HTTP 代理,那么你可以使用 Proxychains 并通过以前的 SOCKS 路由它。
sshuttle 的工作方式类似于 VPN,但通过 SSH。
作为穷人的 VPN 的透明代理服务器。通过 ssh 转发。不需要管理员。适用于 Linux 和 MacOS。支持DNS隧道。
https://github.com/sshuttle/sshuttle
小智 6
Putty 在这方面也做得很好。
在 SSH 下,转到隧道。在底部,将 8080 放入端口,对于目的地,将其留空并选择“动态”单选按钮。这就是您需要做的所有事情,现在使用 Putty 连接到服务器。
连接后,您有一个代理服务器在您的本地主机上运行,端口为 8080,它将通过您的服务器代理所有请求。
现在使用 Web 浏览器并通过设置 host=localhost 和 port=8080 来设置代理,并确保它是您选择的 SOCKS 代理。我一直这样做,所以如果你使用 Firefox,请确保安装 FoxyProxy 插件,因为它可以一键打开/关闭代理。
注意:请注意,默认情况下,您的 DNS 请求不会被代理。因此,您通过代理访问的网站仍将被记录(如果他们记录了这些内容)。您也可以将 firefox 设置为代理 DNS 请求,默认情况下它不会这样做。
要允许代理在计算机上运行,并允许其他客户端连接到您,将需要 -g 选项。例如,您可以在名为 foo 的服务器上运行此命令:
ssh -g -ND 9191 root@remotehost
Run Code Online (Sandbox Code Playgroud)
然后,您可以在客户端的浏览器中设置代理以使用服务器 foo 和端口 9191 作为 SOCKS 代理。客户端也会发送他们的请求 foo,而 foo 又会通过 ssh 将请求转发到远程主机。所以在互联网上,看起来他们正在使用远程主机。
如果您还想使用 Firefox 转发 DNS 请求,请编辑 Firefox 中的 about:config 并将 network.proxy.socks_remote_dns 设置为 true。
| 归档时间: |
|
| 查看次数: |
87913 次 |
| 最近记录: |