我拥有 Linux 机器 A,并且对 Linux 机器 B 的访问权限有限。两台机器都可以访问 Internet。
机器 A 上的互联网访问受到部分审查,因此我想通过机器 B 建立 SOCKS 代理隧道。
由于我无法转发机器 B(位于路由器后面)上打开的端口,因此我决定按照所述从 B 到 A 建立反向 SSH 连接这里。
但是我似乎无法像平常一样在机器 B 上使用 SSH:
$ ssh #on machine B
No user exists for uid 57521
$ whoami
whoami: cannot find name for user ID 57521
我的情况是这样的这个。
每次我登录机器B时,我的UID都会改变。经过一番研究,我似乎可能以 LDAP 用户或类似用户身份登录机器 B。
我没有/etc
对机器 B的写入权限。在这种情况下我该如何设置 SSH?或者是否有任何替代方法设置反向 SOCKS 代理,最好是加密的?
答案1
我最后没能设置 SSH,但是我发现该工具ssocks
适合我的需要,尽管缺少一点加密。
ssocks
从 Sourceforge下载关联。然后执行:tar -zxvf ssocks*.tar.gz cd ssocks-*; ./configure make -j4
现在,在
ssocks-*/src/
目录中,应该有一个客户端rcsocks
和一个服务器rsscoks
。复制rssocks
到机器B执行以下命令:
在机器A上:
./rcsocks -p <relay_port> -l 1080
在机器B上:
./rssocks --socks <ip_of_machine_a>:<relay_port>
<ip_of_machine_a>
并<relay_port>
根据需要填写。现在,socks 代理可在
127.0.0.1:1080
机器 A 上使用。