python通过跳板机连接服务器_使用pycharm、跳板机连接内网服务器
使用pycharm、跳板机连接内网服务器
接手实验室服务器后,大部分同学在GPU集群上跑程序都是直接在ssh界面上跑,这里想着通过pycharm通过跳板机来连接服务器。
总体就是实验室服务器仅限内网访问,同时实验室也提供了一个跳板机,可以先ssh到跳板机再从跳板机ssh到内网服务器。然而这种方式不方便传输文件,也没法用pycharm进行自动同步代码或者远程调试。本篇文章给出了一个该类问题的解决方案,即通过ssh隧道的方式,用Pycharm通过跳板机连接内网服务器。
步骤一 配置免密登录
一般情况下,GPU集群都是配置过免密登陆的,所以这个步骤一般是忽略的。
在本地配置
vim ~/.ssh/config
在config文件中输入以下内容
Host *
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/%n:%p
完成配置后在本地登录一次跳板机.
登录跳板机,并在跳板机配置
vim ~/.ssh/config
在config文件中输入以下内容
Host *
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/%n:%p
完成配置后在跳板机上登录一次内网服务器。
步骤二 设置ssh隧道
在本地命令行(win10一般是 powershell)输入如下命令即可:
ssh -N -f -L 6000::22 -p username@ -o TCPKeepAlive=yes
比如我的:
ssh -N -f -L 6000:11.11.11.3:22 -p 22 jim@**.**.**.** -o TCPKeepAlive=yes
上述命令各个参数的含义如下:
-N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
-f 告诉SSH客户端在后台运行
-L 做本地映射端口
关于SSH建立管道参考
此时,登录本地的6000端口就相当于登录内网服务器了。
ssh -p 6000 服务器用户名@localhost
步骤三 配置pycharm
配置pycharm
这里只需配置ip为127.0.0.1, 端口为6000,并输入内网服务器的账号密码即可看到服务器安装的python.
具体配置方式参考
步骤四(可选)使用corn 定时维护ssh 隧道
SSH 隧道可能因为网络不稳定而断开,每次断开之后都需要手动再次建立SSH 隧道。下面介绍一种解决方案,通过cron定期执行脚本来维护SSH隧道畅通:
编写脚本,通过判断socket文件是否存在来判断隧道连接是否已经断开
在本地任意位置创建脚本auto_connect.sh并写入如下内容(注意更换<>中内容)
#/usr/bin/env sh
if [[ ! -a "~/.ssh/:" ]]; then
echo "connecting : .."
ssh -N -f -L 6000::22 -p username@ -o TCPKeepAlive=yes
if [[ $? -ne 0 ]]; then
echo "failed to connect :" >&1
exit 2
fi
fi
使用cron服务定时执行脚本建立ssh 隧道。在命令行中执行如下语句:(注意修改脚本位置, 路径不可用缩写)
echo "0-59 * * * * sh /path/to/auto_connect.sh" > ~/.crontab
crontab ~/.crontab
本部分参考这里, 使用cron服务定时执行脚本参考这里
Reference
整体文章
python通过跳板机连接服务器_使用pycharm、跳板机连接内网服务器相关推荐
- 使用跳板机在Pycharm上配置内网服务器
使用跳板机在Pycharm 上使用内网服务器环境 最近遇到一个问题:实验室服务器仅限内网访问,无法在家(外网)访问实验室的所有内部服务器,但同时实验室又提供了一个外网可以访问的跳板机,虽然可以先s ...
- 公网如何SSH远程连接内网服务器
公网如何SSH远程连接内网Linux服务器 文章目录 公网如何SSH远程连接内网Linux服务器 1. 注册cpolar账号 2. 安装配置cpolar内网穿透 2.1 安装客户端 2.2 进行tok ...
- iptables设置映射通过外网端口代理ssh登录内网服务器
一.环境阐述 环境介绍:现有一台搭载数据库的内网服务器,要求是不能访问外网,需要其他可以有公网IP的服务器做端口代理,以SSH方式登录此服务器做系统管理. 环境模拟为两台VM虚拟机(搭载CentOS6 ...
- 内网服务器管理面板安装教程
什么是内网服务器管理? 很多企业出于对数据安全.流程管控等方面的考虑,会选择将重要业务进行本地私有化部署,而本地私有化往往会涉及到内网环境部署. 我以前用的云帮手只能批量管理外网的云服务器,一直跟他们 ...
- 【vscode】ssh通过跳板机连接内网服务器
以防自己忘记.. 跟着下面的步骤 step 1 本地生成密钥 生成自己电脑的公钥和私钥 ssh-keygen -t ed25519 会跳出几个步骤,第一个是指定路径用的,可以直接回车:后两个步骤是设置 ...
- vscode 经过跳板机,连接到内网服务器
1.背景:为啥要用跳板机? 一般实验室等环境的服务器是设置在内网环境中的,无法直接使用笔记本在公共环境下直接连接.但是由于种种原因,会出现在这样的场景下需要连接服务器的需求,而通过跳板机是一种常见的办 ...
- 使用XShell通过Linux跳板机连接内网服务器
说明 最近在维护一个项目,一共有两台Linux服务器,内网相连,用途不同.仅服务器A有外网地址,要求通过服务器A维护服务器B的项目. 服务器A外网地址:220.178.21.57,内网地址:192.1 ...
- 通过跳板服务器连接学校内网服务器并连接pycharm
推荐大家非常好的ssh入门教程,详细地介绍了本地转发 阮一峰大佬ssh 朱双印大佬的教程,也是老熟人了 更形象地解释本地转发 pycharm官方文档 扩展小知识: 转发=映射 "本地转发&q ...
- 使用winScp实现跳板机登陆内网服务器
通常网站为了安全起见,一般会在windows登陆linux内网时设置一层跳板机作为屏障,也就是说必须先登陆跳板机,然后才能登陆到内网服务器中,进而进行操作.这里使用winscp来配置一下如何登陆: 首 ...
最新文章
- 12-C语言排序算法
- 我常用的Eclipse插件
- 小结spring和struts整合的三类方式
- iOS中正则表达式的使用
- Spring OXM-XStream流化对象
- VTK:图片之ImageMapToColors
- 基于遗传算法实现自动组卷
- ssm read time out的原因_自检轮胎暗漏原因_什么是自检轮胎暗漏原因
- 永远太远,是时候离开了
- C语言——负数据强制类型转换注意事项
- 同步异步阻塞非阻塞杂记 1
- linux 解析elf文件格式,Linux下ELF文件解析
- android x5全屏白色,x5webview 自定义全屏界面(示例代码)
- monkeyrunner之环境搭建及实例(三)
- Python 集合符号
- 十分钟了结MySQL information_schema
- 完美解决Python 发送邮件126,136,QQ等,都会报•554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件
- 文件分割与合并(Java)
- Unity开发OpenXR | (一)OpenXR是什么?一文带你全面了解OpenXR的相关知识,上车收藏不迷路
- 低依赖C++ GUI库imgui笔记
热门文章
- linux+系统优化基础,Linux入门基础(三):Linux用户及权限基础
- android sd卡不可写,Android检查SD卡是否可读写
- php 500 yii,yii2.0出现500错误怎么办
- php javascript对象,JavaScript 对象
- php cdr,win10彻底禁止cdr联网
- 如何把表格做成源代码_他来了,他来了,文字、表格、公式图片识别神器V0.1测试版...
- oracle数据库12下载地址,Oracle 数据库和补丁下载地址 12.1.0.2 11.2.0.4 11.2.0.1
- php jsonerrorsyntax,php – json_decode返回JSON_ERROR_SYNTAX,但在线格式化程序表示JSON可以...
- matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...
- 信息学奥赛之数学一本通_部分地区中考加分,又一批中学公布中考认可信息学特长生!...