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

相关推荐
RisunJan15 小时前
Linux命令-lpq(查看打印队列状态)
linux·运维·服务器
山君爱摸鱼15 小时前
Linux-服务进程
linux·运维·服务器
阿乐艾官15 小时前
【linux文件系统重要目录及命令解释】
linux·运维·服务器
senijusene15 小时前
Linux软件编程: Linux 操作系统基础与shell脚本
linux·运维·chrome
郝学胜-神的一滴15 小时前
超越Spring的Summer(一): PackageScanner 类实现原理详解
java·服务器·开发语言·后端·spring·软件构建
乾元15 小时前
身份与访问:行为生物识别(按键习惯、移动轨迹)的 AI 建模
运维·网络·人工智能·深度学习·安全·自动化·安全架构
ghostwritten15 小时前
春节前夕,运维的「年关」:用 Kubeowler 给集群做一次「年终体检」
运维·云原生·kubernetes
匆匆那年96716 小时前
llamafactory推理消除模型的随机性
linux·服务器·学习·ubuntu
杜子不疼.16 小时前
远程软件大战再升级:2026年2月三大远程控制软件深度横评,安全功能成新焦点
服务器·网络·安全
馨谙16 小时前
Ansible模块化Playbook管理:静态导入与动态包含详解
运维·ansible