PyCharm通过跳板机连接隔离内网服务器

一、场景说明

这一方案主要适用于处于严格网络安全策略下的开发环境,例如,高校科研实验室、企业内网或者私有云集群。在这些场景中,搭载高性能GPU的计算节点通常部署在隔离的内网中,无法通过公网IP或者局域网IP直接访问,开发者必须先连接一台具有访问权限的"跳板机"(Jump Host/Bastion Host)作为中转。

通过配置SSH隧道(Tunneling),可以让PyCharm穿透跳板机直连内网服务器,使得开发者能够完美融合本地IDE强大的代码补全与可视化调试功能,以及远程服务器的充沛算力,实现"代码在指尖,算力在云端"的无缝开发体验,彻底告别低效的文件传输与盲改代码。

下图是连接的图示:Pycharm通过Xshell实现的加密隧道,连上跳板机的内网环境,进而与内网GPU服务器进行信息传输。

二、实现步骤

2.1 安装Xshell

进入官网:https://www.xshell.com/zh/xshell/,下载Xshell。期间需要填写姓名和邮箱,填就完事儿了。然后点点点、安装。

版本无所谓,7版本、8版本,哪个都行。

2.2 配置隧道

先连上你的跳板机:打开xshell,点击左上角"新建"按钮;输入跳板机名称,输入跳板机IP,端口一般是22 ,跳板机名称可以任意,然后点击"连接"。

登录成功之后,点击xshell上方工具栏的"查看",然后点击"隧道窗格",创建隧道,步骤如下图所示:

此时xshell下方会出现一个隧道窗格,点击"转移规则",右键空白区域,点击"添加"

在转移规则中,类型选择"Dynamic(SOCKS4/5)",填写一个侦听端口(这个端口是随你填的,只要不跟其它应用冲突就行,这里给出的建议是大一点的数可能会好点,比如"23456"),最后点击"确定"

然后在跳板机窗口下方的隧道窗格的转移规则中,就会显示一条规则,如果这条规则的状态是"打开"的,那么就意味着这条隧道就创建成功了。如图所示:

2.3 配置Pycharm

在PyCharm中,打开Settings,在Python Interpreter处,点击右上角的"Add Interpreter",选择"On SSH",添加一个SSH配置。所需要的关键信息如下图所示:

  • 内网服务器IP、用户名、端口22、密码;
  • 添加一个Proxy代理,其Proxy字段选择"SOCKS",Hostname填"127.0.0.1"(跟localhost应该是一个东西),Port填刚刚创建隧道的那个端口。

然后点击"Test Connection",如果显示"Successful"那么就说明你已经实现通过跳板机连接上一个隔离内网的服务器,如下图所示:

2.4 连接示例

连接之后,就可以为你的项目配置相应的解释器和项目位置映射啦:

如果你在代码之中调用了这些库,编译器就可以实时为你检查报错,让你知不知道缺不缺这个库,例如:

图中我所选的服务器的解释器没有openpyxl这个库,所以它报错了;而我已经安装了accelerate这个库,所以它没有报错。

相关推荐
布鲁飞丝9 小时前
vivo Pulsar 万亿级消息处理实践()-Ansible运维部署
运维·ansible
XR1234567889 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
HiDev_10 小时前
【非标自动化】2、认识元器件(直线模组)
运维·自动化
夏殇之殁10 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
龙仔72510 小时前
人大金仓 KingbaseES V8 只读账号创建完整运维笔记
运维·笔记·sql·人大金仓
我不管我就要叫小猪11 小时前
嵌入式Linux----网络通信
linux·运维·服务器
江湖有缘11 小时前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
泡沫冰@11 小时前
ECS 的介绍和使用
linux·服务器·网络
姜太小白12 小时前
【Linux】df -h 卡住问题的通用排查与解决方案总结
linux·运维·php
土星云SaturnCloud12 小时前
抽水蓄能设备智慧运营:基于土星云边缘计算实现机组全生命周期预测性维护
服务器·人工智能·ai·边缘计算