如何设置 SSH 隧道和/或反向 SSH 隧道?

如何设置 SSH 隧道和/或反向 SSH 隧道?

我在中国上海,正在尝试设置一个 SSH 隧道(或反向 SSH 隧道?)到我兄弟在美国的服务器。我使用的是 Windows XP,他使用的是 Mac。我们都在使用无线路由器(不确定这是否相关)。他给了我地址和密码(我想是他的服务器的),我已经下载了 myentunnel(他推荐的),但我不知道现在该怎么做。我还下载了 mozilla(我首选的浏览器)的 foxyproxy 插件,希望有人能帮助指导像我这样的新手!提前致谢。

答案1

我从未使用过 MyEnTunnel,但我可以推荐隧道工这也是免费且易于使用的。安装后,转到登录页面并输入主机地址、用户名和密码。现在转到服务并选中 SOCKS 下的已启用,使用左侧的按钮保存配置文件,以便保存设置,然后单击登录。

现在您需要配置 Firefox(Mozilla 是其开发者),或者更具体地说是 Foxyproxy。添加一个地址为 127.0.0.1、端口号为 1080 的新代理。切换到使用此代理,所有往返网站的数据现在都应通过您兄弟的互联网连接进行隧道传输,并且所有数据在传输过程中都经过加密。

然而DNS 查找可能未通过隧道;这非常非常糟糕。打开 Firefox,在地址栏中输入 about:config,然后在过滤器字段中输入 network.proxy.socks_remote_dns。确保值设置为 true,如果为 false,则双击它,它会显示 true。现在您已全部设置完毕!

答案2

好吧,我不确定这有多容易,但这就是我所做的:

生成密钥:

ssh-keygen -t dsa

将其放在您连接的服务器上:

cat ~/.ssh/id_dsa.pub | ssh -l username ip.of.server 'cat >> ~/.ssh/authorized_keys2'

登录时您无需输入密码。


为了快速启动,请尝试以下操作:

启动 cygwin,在命令行中输入以下内容:

echo '#!/bin/bash' >> /cygdrive/c/cygwin/goserv.h
echo 'ssh -ND 9999 user@server' >> /cygdrive/c/cygwin/goserv.sh

查找您的 cygwin.bat 文件(它应该位于您的 cygwin 安装目录中,在我的计算机上是 c:\cygwin)。使用记事本打开它,查找以下行:

bash --login -i

并将其更改为:

bash --login -i %1

然后保存。这不会影响您正常使用 cygwin。现在,在记事本中创建一个新文件,并添加以下行:

c:\cygwin\cygwin.bat /cygdrive/c/cygwin/goserv.sh

现在将其保存为桌面上的 goserv.bat。在我的计算机上,双击该文件将创建隧道。

至于 Firefox - 您是否需要将其用于非隧道用途?我使用 Chrome 进行常规用途,使用 Firefox 进行隧道用途。如果您真的喜欢 Firefox,也许您可​​以安装便携版并将其设置用于代理使用。

答案3

似乎是 foxyproxy-addon 的问题,我不确定。我用的是 myentunnel,它足够好。在 Firefox 中,我安装了 AutoProxy,(http://autoproxy.org/en),它可以根据你创建的规则切换到你的代理。作为一名中国人,我对此表示歉意,为我国政府的 GFW 政策感到羞耻。

相关内容