远程服务器使用本地代理的方法
由于笔记本没有GPU,做的又是ai方向,所以经常性的需要远程连接到实验室的服务器运行代码(Pycharm pro + SSH)。但是遗憾的是,服务器并没有魔法,访问不了很多科学网站。今天也是稍微折腾了一下,终于配好了可以。
主要原理就是将本地端口代理到远程端口,然后服务器设定访问代理访问远程端口,就可以实现远程服务器通过本地端口访问网站的效果。
首先打开clash,开启允许局域网和系统代理;接着本地PC机打开cmd命令行窗口,输入以下命令:
ssh -vvv -N -R 7890:localhost:7890 -p <远程服务器端口号> <username>@<server_ip>
-vvv:输出调试信息;
-N:不执行远程命令,只建立 SSH 连接并进行端口转发;
-p:指定远程服务器ssh端口,若为默认的22可不写;
第一个7890指的本地的代理的端口(如果用的clash可以查看),localhost:7890指远程服务器的7890端口。
然后会让你输入SSH连接的账户密码。连接成功后需要挂着窗口(保持SSH隧道)
在服务器端,可以在终端设置如下,就是访问http和https协议的网站都通过代理走服务器的7890端口,从而使用到本地PC机的7890端口。
export http_proxy=http://127.0.0.1:7890; #HTTP export https_proxy=http://127.0.0.1:7890; #HTTPS
也可以在用户的~/.bashrc文件中添加,这是激活环境会自动执行的文件。
对于jupyter notebook,在运行的代码前添加以下代码并且执行即可:
import os os.environ["http_proxy"] = "http://127.0.0.1:7890" os.environ["https_proxy"] = "http://127.0.0.1:7890"
本文作者:ZonHue
本文链接:https://www.cnblogs.com/mercurystraw/p/18730292
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步