说我有一个server
和client
。 我需要通过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隧道。
要允许代理运行计算机,并允许其他客户端连接到您将需要-g选项。 例如,你可以在名为foo的服务器上运行它:
ssh -g -ND 9191 root@remotehost
然后,您可以在客户端的浏览器中设置代理,以将服务器foo和端口9191用于SOCKS代理。 客户端也会发送他们的请求,然后通过SSH将请求转发到远程主机。 所以在互联网上,它会看起来像他们正在使用远程主机。
如果你想用Firefox转发DNS请求,请在firefox中编辑about:config,并将network.proxy.socks_remote_dns设置为true。