pycharm通过ssh连接远程服务器教程


Posted in Python onFebruary 12, 2020

由于想要使用pycharm连接Window子系统Ubuntu进行开发,找了很多教程都不够详细,花了点儿时间,最后配置成功。

将pycharm连接Window子系统的配置过程总结如下,连接其它远程服务器的过程相同:

一、Ubuntu配置

1、首先安装 ssh server:

> sudo apt-get install openssh-server

2、修改 ssh server 配置:

> sudo vim /etc/ssh/sshd_config

需要修改以下几项:

Port 2222 #默认的是22,但是windows有自己的ssh服务,也是监听的22端口,所以这里要改一下
UsePrivilegeSeparation no
PasswordAuthentication yes
AllowUsers youusername # 这里改成你登陆WSL用的用户名

3、启动 ssh server:

sudo service ssh --full-restart

4、使用xshell测试是否可以连接到子系统:

xshell 登陆 ubuntu on windows 的配置如下:IP 是 127.0.0.1,端口号2222,身份验证信息填写子系统的用户名和密码,即可成功登录。

pycharm通过ssh连接远程服务器教程

注:需要注意一点,ubuntu 的命令行窗口不能关掉,关掉后 sshd 服务也会关掉,连接就断开了。

二、配置 Pycharm 服务器

1、确定服务器 IP 地址(连接子系统IP地址为127.0.0.1),确保已经开启 SSH 服务,并且安装了 Python,本地 Project 名为 recommodation_system;

2、配置 Pycharm 服务器的代码同步,打开 Tools -> Deployment -> Configuration,点击左边的 + 添加一个部署配置,输入配置名 Name,Type 选择 SFTP,然后确认;

3、配置远程服务器的 IP,端口,用户名和密码,Root Path 是项目文件在远程服务器中的根目录,根据需求配置,例如 /home/rs,这个目录需要登录用户的创建权限(配置好服务器参数,直接点击右侧Autodetect会自动生成Root Path);

4、点击 Mappings,将 Local Path 设置为 Windows 下的工程目录,例如 D:\GitHub\ recommodation_system,自己视情况设定。将 Deployment path on server 设置为远程服务器中的项目目录,例如 /ML,注意目录前要加 /,不然后面运行程序会找不到文件,Web path on server 暂时不用设置,貌似 Web 相关的程序会用到,需要用到的话请自行 Google;

5、点击 Excluded Paths 可以设置一些不想同步的目录,例如软件的配置文件目录等。

6、另外打开 Tools -> Deployment -> Options,将 Create Empty directories 打上勾,要是指定的文件夹不存在,会自动创建。

三、Pycharm 远程连接远程服务器

1、选择 File -> Settings,选择 Project -> Project Interpreter,然后在右边,点击那个小齿轮进行设置;

2、点击 Add Remote,选择 SSH Credentials,填写主机的 SSH 配置信息,Python interpreter path 选择自己需要的远程服务器的解释器(选择需要的python版本),如下;

pycharm通过ssh连接远程服务器教程

3、选择配置好的远程服务器,Path mappings与第二部分第4个步骤中的路径映射关系对应即可(由于刚开始这一步没配置好,运行时一直找不到文件,其实就是要把本地文件Upload到服务器的对应地址,才能在服务器运行),可以看到已经读取到远程服务器的Package,如下:

pycharm通过ssh连接远程服务器教程

4、运行程序前,进入Tools -> Deployment,选择Automatic Upload(always),这样本地编辑程序后,会自动上传到服务器,以免本地文件与服务器文件不一致,导致运行出错;

5、运行程序时,也就是点击 Run 的时候选择刚刚配置的解释器就能远程调试了,基本跟使用本地解释器没有什么区别。

以上这篇pycharm通过ssh连接远程服务器教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅析Python中的多重继承
Apr 28 Python
Python中selenium实现文件上传所有方法整理总结
Apr 01 Python
给你选择Python语言实现机器学习算法的三大理由
Nov 15 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
django 自定义过滤器的实现
Feb 26 Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 Python
python实现的自动发送消息功能详解
Aug 15 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
利用Python脚本实现自动刷网课
Feb 03 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
python日期与时间戳的各种转换示例
Feb 12 #Python
Python使用uuid库生成唯一标识ID
Feb 12 #Python
将python文件打包exe独立运行程序方法详解
Feb 12 #Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 #Python
Python sep参数使用方法详解
Feb 12 #Python
Python多重继承之菱形继承的实例详解
Feb 12 #Python
Python实现桌面翻译工具【新手必学】
Feb 12 #Python
You might like
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
2016/10/29 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
python使用mysql的两种使用方式
2018/03/07 Python
python去除扩展名的实例讲解
2018/04/23 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
JSP&Servlet技术面试题
2015/05/21 面试题
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
2014年收银工作总结
2014/11/13 职场文书
西柏坡导游词
2015/02/05 职场文书
员工辞退通知书
2015/04/17 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers
vue封装数字翻牌器
2022/04/20 Vue.js