我有一台运行 Ubuntu 12.10 的家用电脑。
为了确保我的数据不会被公开监控,我过去曾使用过订阅 VPN 服务。
我决定研究替代方案,我发现 OpenSSH 可以很容易地创建可与 Firefox 和 PuTTy 一起使用的 SOCKS 代理。
经过多次反复尝试,我终于拥有了一个可以远程连接并使用 BASH 命令的服务器。(我不得不使用端口 80 作为 SSH 服务器,因为很多地方都阻止了通过“常用端口”(例如 22)的流量。)
当我尝试将其用作代理时,真正的问题出现了。
我使用 PuTTy,转到 SSH 隧道部分,添加了动态转发端口并将端口设置为 80。然后我进入 Firefox 并选择 SOCKS v5、127.0.0.1 作为 IP 地址,端口为 80。这似乎运行完美,并且“我的 IP 是什么”Google 查询返回了正确的家庭 IP 地址 - 但随后它停止了工作。
shell 本身继续工作,我使用它重置了家庭 SSH 服务器,但无济于事。我完全不知道出了什么问题,任何帮助都将不胜感激。
如果您需要任何进一步的信息,我会很乐意提供。
答案1
我ssh
在 GNU/Linux 中使用隧道时也遇到了类似的问题。我不知道这是否相关,但最终效果是一样的,我在网上找不到任何答案,这是最热门的搜索结果,所以我决定贡献我的解决方案。
就我而言,我正在运行这个:
ssh -C2qTnN -D 127.0.0.1:3128 [email protected]
打开 SOCKS 隧道代理,命令在 bash 脚本中。
问题和解决方案:我使用一个 Linux 用户及其 ssh 密钥创建了隧道,并尝试使用另一个用户进行连接。该ssh
命令在后台运行,因此我看不到它要求我进行身份验证。将新本地用户的公钥附加~/.ssh/id_rsa.pub
到远程服务器中就/home/user/.ssh/authorized_keys
可以了。
注意:authorized_keys
在某些系统上,远程服务器的文件应该是只读的,因此如果您自己创建该文件,请执行此操作,chmod 400 authorized_keys
因为如果有人具有写权限,某些 ssh 服务器配置将拒绝读取它。