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实现base64编码的图片保存到本地功能示例
Jun 22 Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 Python
Django框架实现分页显示内容的方法详解
May 10 Python
在macOS上搭建python环境的实现方法
Aug 13 Python
python中的global关键字的使用方法
Aug 20 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
Python之Numpy的超实用基础详细教程
Oct 23 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
虚拟机下载python是否需要联网
Jul 27 Python
python数据分析之单因素分析线性拟合及地理编码
Jun 25 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接口中interface存在的意义
2013/06/27 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
Python入门篇之函数
2014/10/20 Python
Python中关于浮点数的冷知识
2019/09/22 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
工程班组长岗位职责
2013/12/30 职场文书
物流专员岗位职责
2014/02/17 职场文书
离婚协议书范本样本
2014/08/19 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL