Pycharm远程连接服务器配置详解

背景:

相信很多人都遇到了这种情况,日常的开发和程序的验证都需要在linux环境下验证,而我们都是使用本地windows来进行开发或者脚本的编写,然后再push到远程仓库,再到linux环境下pull下来代码验证,这样每次的push–>pull很麻烦,也影响脚本或者程序的debug的进度,这里我也是百度了很多了解了PyCharm Professional版支持Remote Development,这意味着你可以在本地机器上编写代码,而代码实际上在远程服务器上运行。下面是如何通过Remote Development(远程开发)功能连接到远程SSH服务器的步骤。

1 先决条件

确保你有PyCharm Professional版(我这里是自己破解的专业版,大家可自行破解哈)。
确保你的Linux服务器和Windows客户端都有可用的网络连接并且SSH服务在Linux服务器上已经启动。
确保你的Linux服务器上已经安装了Python和PyCharm所需要的其他依赖
在这里插入图片描述

2 先配置免密登录

在Windows机器上生成SSH密钥对 在Windows上,你可以通过Git Bash、Cygwin、Windows Subsystem for Linux (WSL)或其他工具使用ssh-keygen命令生成密钥对。如果这些工具都不可用,还可以使用PuTTYgen生成密钥。
以下示例是使用ssh-keygen(通常是在Git Bash或WSL中)生成密钥对的步骤:

2.1 windows本地生成公钥和私钥

 ssh-keygen -t rsa

在这里插入图片描述

上面一路回车,以及按 ‘y’ 即可生成,生成的公钥和私钥的路径也会有显示
C:\Users\issuser/.ssh/id_rsa.pub

2.2 传输公钥到Linux服务器上

将公钥上传至Linux服务器 你需要将生成的公钥(id_rsa.pub)内容添加到Linux服务器上用户的~/.ssh/authorized_keys文件中。可以手动编辑此文件,也可以使用ssh-copy-id工具,如果你的环境不支持ssh-copy-id,也可以执行如下命令,先cat 公钥的信息:

cat C:\Users\issuser/.ssh/id_rsa.pub

2.3 复制显示的内容到剪贴板,这个公钥内容如下图显示:

在这里插入图片描述

2.4 然后,登录到你的Linux服务器:

一旦登录到Linux服务器后,你需要将公钥添加到/.ssh/authorized_keys文件中。如果/.ssh目录或authorized_keys文件不存在,你需要先创建它们:

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

2.5 接下来,编辑authorized_keys文件并将你的公钥粘贴进去。你可以使用任何文本编辑器,例如nano或vim,或者使用下面的命令:

echo ‘你的公钥内容’ >> ~/.ssh/authorized_keys
在这里插入图片描述

2.6 验证是否可免密登录

首先在windows powershell 或者cmd窗口都可以,通过ssh -i参数使用windows的私钥来进行登录,如下图显示即是配置免密成功

ssh -i C:\Users\issuser/.ssh/id_rsa user@your-linux-server-address

在这里插入图片描述

3 pycharm创建SSH配置

点击pycharm file-setting-Tools-SSH Configurations,如下图所示,点击添加ssh连接
在这里插入图片描述

4.添加连接

如下图所示,这里的host就是你服务器的IP地址,Username为服务器的登录名一般为root,Authentication type为Key pair(上面步骤我们已经配置好了免密登录所有用这个,也可以用password)
在这里插入图片描述

5 测试连接

配置好以后点击Test Connection提示连接成功即可
在这里插入图片描述

6 启动远程IDE

上面的步骤点击OK之后,即可进入启动界面,这里点击Check Connection and Contiune
在这里插入图片描述
如下我们选择我们的远程服务器的代码路径即可
在这里插入图片描述
启动之后会看到windows本地显示了一个远程的Pycharm的界面,至此你可以在这个远程上面开发你的代码,右键代码运行相当于就是在服务器上运行啦。
在这里插入图片描述

6 后续启动

点击File-Remote Development-SSH
在这里插入图片描述
这里会显示我们刚刚添加的服务器,点击服务器名即可启动IDE
在这里插入图片描述

总结:

以上是本地windows和服务器是在一个局域网的情况下的连接,可以使用这种方式来实现远程开发。那如果服务器和本地windows不在一个局域网内呢?往往我们需要通过跳板机来实现访问了,这里我们也可以通过配置代理的方式来实现上面的远程开发,后续我也会出如何通过代理的方式来实现配置,如果大家觉得对自己有帮助的,可以点个赞哈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CorelDRAW21.2.4中文最新官方和谐版下载

CorelDRAW是一款由加拿大Corel公司出品的平面设计软件,也被称为CDR。它是一款功能强大的矢量图形制作和排版软件,主要面向绘图设计师和印刷输出人员。该软件提供了矢量插图、页面布局、图片编辑和设计工具,广泛应用于排版印刷、矢量图形编辑及…

HWOD:密码强度等级

一、知识点 回车键的ASCII码是10 如果使用EOF,有些用例不通过 二、题目 1、描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0…

NotePad++ 快速生成SQL IN (‘’,‘’)

sql In(‘’,‘’)这种形式 第一步:AltC 鼠标放在第一行最左边 第二步 CtrlH $代表行末 第三步 去掉每行换行符 换行可能是"\n" 或者"\r"或者"\r\n" 结果:

容错组合导航

在初始值正确的情况下,惯性导航短期精度较高,但是其误差随着时间是累计的。如果要提高惯性导航的长期精度,就必须提高惯性器件的精度和初始读准精度,这必将大大提高成本。 如果将惯性导航与其他导航系统适当地组合起来&#xff0c…

Java泛型中 T 和 ? 傻傻分不清楚

1.定义: JDK5.0后,Java提供了泛型。 泛型是一种在编译时提供类型安全的方式,允许程序员在定义类、接口和方法时使用类型参数。这样,可以在不损失类型安全的情况下,创建可重用的代码。 泛型有两种主要的使用形式&#x…

linux学习:栈

目录 顺序栈 结构 初始化一个空顺序栈 压栈 出栈 例子 十进制转八进制 链式栈 管理结构体的定义 初始化 压栈 出栈 顺序栈 顺序栈的实现,主要就是定义一块连续的内存来存放这些栈元素,同时为了方便管理, 再定义一个整数变量来代表…

2024中国(宁波)国际宠物用品博览会

2024中国(宁波)国际宠物用品博览会 People&Pet Fair 2024 专注2B交易,关注人宠发展,它经济,势不可挡! 时间:2024年11月14-16日 地点:宁波国际会展中心 详询主办方陆先生 I38(前三位) …

水离子雾化壁炉与酒店大厅的氛围搭配

将水离子雾化壁炉与酒店大厅的氛围搭配是一个很好的主意,可以为大厅增添舒适、温馨的氛围,以下是一些建议: 迎宾区域:在酒店大厅的迎宾区域设置水离子雾化壁炉,作为客人抵达时的第一印象。壁炉的温馨效果可以让客人感到…

Java+BS +saas云HIS系统源码SpringBoot+itext + POI + ureport2数字化医院系统源码

JavaBS saas云HIS系统源码SpringBootitext POI ureport2数字化医院系统源码 医院云HIS系统是一种运用云计算、大数据、物联网等新兴信息技术的业务和技术平台。它按照现代医疗卫生管理要求,在特定区域内以数字化形式收集、存储、传递和处理医疗卫生行业的数据。通…

【应用】SpringBoot-自动配置原理

前言 本文简要介绍SpringBoot的自动配置原理。 本文讲述的SpringBoot版本为:3.1.2。 前置知识 在看原理介绍之前,需要知道Import注解的作用: 可以导入Configuration注解的配置类、声明Bean注解的bean方法;可以导入ImportSele…

异构超图嵌入的图分类 笔记

1 Title Heterogeneous Hypergraph Embedding for Graph Classification(Xiangguo Sun , PictureHongzhi Yin , PictureBo Liu , PictureHongxu Chen , PictureJiuxin Cao , PictureYingxia Shao , PictureNguyen Quoc Viet Hung)【WSDM 2021】 2 Co…

模拟移动端美团案例(react版)

文章目录 目录 概述 项目搭建 1.启动项目(mock服务前端服务) 2.使用Redux ToolTik(RTK)编写store(异步action) 3.组件触发action并渲染数据 一、渲染列表 ​编辑 二、tab切换类交互 三、添加购物车 四、统计区域功能实现 五、购物车列表功能实现 六、控制…

Leetcode算法训练日记 | day23

一、修剪二叉搜索树 1.题目 Leetcode:第 669 题 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff…

2024/4/2—力扣—最小高度树

代码实现: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ struct TreeNode* buildTree(int *nums, int l, int r) {if (l > r) {return NULL; // 递归出口}struct…

Cohere推出全新升级版RAG大型AI模型:支持中文,搭载1040亿参数,现开源其权重!

4月5日,知名类ChatGPT平台Cohere在其官方网站上发布了一款全新的模型——Command R。 据官方消息,Command R拥有1040亿个参数,并且支持包括英语、中文、法语、德语在内的10种语言。这一模型的显著特点之一在于其对内置的RAG(检索增…

文件加密软件大全,按市场份额排名

文件加密软件大全,按市场份额排名 文件加密是一种保护数据安全的重要手段,通过使用特定的算法将明文文件转化为密文,以防止未经授权的访问、篡改或泄露,市场份额排名的八款软件你需要了解一下。 1、安企神软件 专注于加密和审计…

高阶流程图(SIPOC)

SIPOC高阶流程图是一种流程映射和改进方法,它使用可视化的方式描述一个或多个流程的输入和输出。SIPOC是五个单词的首字母缩写,分别代表供应商(Suppliers)、输入(Inputs)、过程(Processes&#…

蓝牙app设计 (方案一)app inventor

app Inventor是一款谷歌公司开发的手机编程软件。 谷歌推出一款名叫Google App Inventor的工具软件, Google App Inventor用户能够通过该工具软件使用谷歌的Android系列软件自行研发适合手机使用的任意应用程序。 而且这款编程软件不一定非要是专业的研发人员,甚至根本不需要…

2024 年最新前端工程师使用 Webpack 模块打包工具详细教程(更新中)

概述 Webpack 模块打包工具 Webpack 是一个现代的静态模块打包工具,用于将前端应用程序的各种资源(例如如:JavaScript、CSS、图片等)视为模块,并将它们打包成可以在浏览器中运行的静态文件。它的主要功能包括模块打包…

CUDA 12.4文档3 内存层次异构变成计算能力

5.3 内存层次 Memory Hierarchy CUDA线程在执行过程中可能会访问多个内存空间的数据,如图6所示。每个线程都有自己的私有本地内存。 每个线程块都有一个对块内所有线程可见的共享内存,并且其生命周期与块相同。线程块集群中的线程块可以对彼此的共享内…