Do not just be a |

ZonHue

园龄:7个月粉丝:0关注:1

远程服务器使用本地代理的方法

由于笔记本没有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"

参考资料:
https://zhuanlan.zhihu.com/p/18500712254

本文作者:ZonHue

本文链接:https://www.cnblogs.com/mercurystraw/p/18730292

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   ZonHue  阅读(26)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起