Answers:
我们将其称为具有互联网访问权限的机器hasinet
和没有互联网访问权限的机器noinet
。
noinet
到 hasinet
您可以使用OpenSSH的内置SOCKS代理轻松完成此操作。此命令将在noinet
侦听端口时设置SOCKS代理1080
:
noinet$ ssh -D 1080 hasinet
noinet
从 hasinet
您可以在上运行OpenSSH的SOCKS代理hasinet
,然后将端口从转发noinet
到hasinet
。可以使用这样的一条命令巧妙地完成此操作(感谢@Patrick):
hasinet$ ssh -D 1080 localhost -t ssh -R 1080:localhost:1080 noinet
您如何使用此代理将取决于应用程序。某些应用程序内置了对SOCKS代理的支持。如果是这种情况,则需要配置您的应用程序以在上使用代理localhost:1080
。如果没有,您可以使用代理链或redsock,如@sciurus所建议。如果只需要为某些命令提供网络访问权限,则tsocks是一种较轻便的解决方案。
这是通过SSH执行此操作的方法:
在无法访问互联网的机器上运行
ssh -D 8080 machine_with_internet_access
您可以将8080替换为任何未使用的端口号,
然后安装诸如proxychains或redsocks之类的软件,配置它们以连接到localhost:8080,然后运行需要通过它们进行Internet访问的软件。
ssh -t -D 1080 localhost ssh -R 1080:localhost:1080 noinet
一个命令需要时)在hasinet上安装袜子代理即可。