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这个库,所以它没有报错。

相关推荐
HIT_Weston15 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng201815 小时前
Linux下Beyond Compare过期
linux·运维·服务器
喵叔哟15 小时前
20.部署与运维
运维·docker·容器·.net
HIT_Weston15 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式15 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
期待のcode16 小时前
前后端分离项目 Springboot+vue 在云服务器上的部署
服务器·vue.js·spring boot
AI 智能服务16 小时前
第6课__本地工具调用(文件操作)
服务器·人工智能·windows·php
松涛和鸣19 小时前
49、智能电源箱项目技术栈解析
服务器·c语言·开发语言·http·html·php
凉、介19 小时前
SylixOS 中的 Unix Socket
服务器·c语言·笔记·学习·嵌入式·sylixos
RisunJan19 小时前
Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)
linux·运维·服务器