现在在服务器上,需要访问 github 或者 huggingface 这些资源,发现是上不去的。
那么需要给服务器挂梯子。
当然由于服务器没有 GUI,user 没有 root 权限,往往这是一件非常困难的事。
可以通过本地挂梯子,然后 SSH 反向代理来实现。
反向代理
反向代理就是在服务器上开一个端口,让这个端口把流量转发给本机的一个端口。
在 SSH 连接时,加入 -R 指令即可:
@ -R :localhost:
">复制ssh -p <r> <username>@<server_ip> -R <server_port>:localhost:<local_port>
server_port 就是服务器上要转发流量的端口(7001〜8999之间,不要和已有的冲突即可)
local_port 就是本机梯子的端口(clash 一般是 7890)
注:用 clash 时一定要打开允许局域网
(我也不太清楚反向代理的原理,哎要是《网络原理》讲这些,而不是死背nt协议的就好了)
示例:
复制ssh -p 8000 hopen@mmlab -R 7890:localhost:7890
当然我们也可以改 .ssh/config 这个文件(这样 VScode 连接时方便)
复制Host gnode1
HostName 0.0.0.0
Port 8001
User hdeng
IdentityFile C:UsersCold_Chair.sshid_rsa
RemoteForward localhost:7890 localhost:7890
测试:
终端输入
复制curl -x localhost:7890 google.com
得到:
301 Moved 301 Moved
The document has moved here. ">复制<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.com/">here</A>. </BODY></HTML>
使用端口:
在终端里输入
复制export http_proxy=http://127.0.0.1:7890;
export https_proxy=http://127.0.0.1:7890;
这样服务器终端中运⾏的程序的所有HTTP、HTTPS流量都会由梯子转发。
此时我们测试一下 git clone
,应该就没有问题了。
取消端口使用:
并不是所有下载都要用梯子,小心流量计费爆炸
复制unset http_proxy;
unset https_proxy;
可以用下面的指令看看:
复制echo $http_proxy;
echo $https_proxy;
google drive 下载:
https://zhuanlan.zhihu.com/p/614790111
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...