我可以创buildSSH来通过服务器隧道HTTP像它是代理?

说我有一个serverclient 。 我需要通过server创build从client website连接,就像它是代理服务器。

是否可以使用SSH tunel来做到这一点,或者我必须安装一些代理服务到server

你可以用ssh来做到这一点

 ssh -L 80:remotehost:80 user@myserver 

您将有一个从本地端口80到远程主机端口80的隧道。 这不必与myserver相同。 为了使透明,你应该添加一个条目的主机文件。 如果你不这样做,虚拟主机将无法正常工作。 如果你想要一个SOCKS代理连接,你也可以使用

 ssh -D 5000 user@myserver 

这将在localhost端口5000上创build一个SOCKS代理,该端口通过myserver路由所有请求。

是的,这是可能的。

运行ssh -D port user@host并设置你的客户端使用你的盒子作为SOCKS代理。

如果您需要特定的HTTP代理,那么您可以使用代理链并通过以前的SOCKS进行路由。

腻子也做得很好。

在SSH下,转到隧道。 在底部,将8080放在端口中,并将目标放在黑色,然后select“dynamic”单选button。 这就是所有你需要做的,现在使用腻子连接到服务器。

一旦连接,你有一个代理服务器在你的本地主机端口8080上运行,它将通过你的服务器代理所有的请求。

现在使用Web浏览器并通过设置host = localhost和port = 8080来设置代理,并确保它select了一个SOCKS代理。 我一直这样做,所以如果你使用Firefox,一定要安装FoxyProxy插件,因为它使代理开启/closures一键式事务。

警告:请注意,默认情况下,您的DNS请求未被代理。 所以你通过代理访问的网站仍然会被logging(如果他们login这个东西)。 你可以设置Firefox代理DNS请求,它只是没有这样做默认情况下。

sshuttle像VPN一样工作,但通过SSH。

透明的代理服务器,作为一个穷人的VPN。 通过ssh转发。 不需要pipe理员。 适用于Linux和MacOS。 支持DNS隧道。

https://github.com/apenwarr/sshuttle

要允许代理运行计算机,并允许其他客户端连接到您将需要-g选项。 例如,你可以在名为foo的服务器上运行它:

 ssh -g -ND 9191 root@remotehost 

然后,您可以在客户端的浏览器中设置代理,以将服务器foo和端口9191用于SOCKS代理。 客户端也会发送他们的请求,然后通过SSH将请求转发到远程主机。 所以在互联网上,它会看起来像他们正在使用远程主机。

如果你想用Firefox转发DNS请求,请在firefox中编辑about:config,并将network.proxy.socks_remote_dns设置为true。