使用SSH反向隧道 (SSH Reverse Tunneling)
利用SSH连接在您的本地电脑和云服务器之间建立一个反向的加密通道。
原理: 从本地电脑 发起一个SSH命令到您的云服务器,这个命令会告诉云服务器:"请监听您自己的某个端口(例如:8888),任何发送到这个端口的流量,都请通过这条SSH隧道转发给我本地电脑的代理端口(例如:7890)"。
操作步骤:
-
在您的本地电脑上,打开终端或命令行工具。
-
执行以下SSH命令:
bash
ssh -R 8888:localhost:7890 user@your_cloud_server_ip
-R
表示这是一个反向隧道 (Reverse Tunnel)。8888
: 这是您希望在云服务器上监听的端口。您可以选择一个未被占用的端口。localhost:7890
: 这是您本地电脑 上代理服务的地址和端口。请将7890
替换为您实际的代理端口。user@your_cloud_server_ip
: 这是您登录云服务器的用户名和IP地址。
-
保持这个SSH连接不要关闭。只要连接是活动的,隧道就会一直存在。
-
在您的云服务器上 ,现在您可以将Git或其他应用的代理设置为
http://127.0.0.1:8888
或socks5h://127.0.0.1:8888
。
bash
# 在云服务器上配置Git
git config --global http.proxy http://127.0.0.1:8888
git config --global https.proxy https://127.0.0.1:8888
现在,当云服务器上的Git尝试连接GitHub时,它会把请求发送到它自己的8888
端口,SSH会自动将这些请求通过隧道安全地转发到本地电脑的7890
端口,然后通过本地的代理访问互联网。
注意事项:
需要在本地代理软件中打开允许局域网访问的开关,否则云服务转发的请求可能会在本机被拦截