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网络编程学习笔记(六):Web客户端访问
Jun 09 Python
python函数局部变量用法实例分析
Aug 04 Python
python 链接和操作 memcache方法
Mar 04 Python
python 定时器,轮询定时器的实例
Feb 20 Python
python中的print()输出
Apr 12 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
python二进制文件的转译详解
Jul 03 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
Feb 13 Python
Python wordcloud库安装方法总结
Dec 31 Python
python运算符之与用户交互
Apr 13 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实现的memcache环形队列类实例
2015/07/28 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
javascript 数组排序函数
2009/08/20 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python实现提取百度搜索结果的方法
2015/05/19 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
Python探索之修改Python搜索路径
2017/10/25 Python
python生成lmdb格式的文件实例
2018/11/08 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
django框架cookie和session用法实例详解
2019/12/10 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
python一些性能分析的技巧
2020/08/30 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
公务员保密承诺书
2014/03/27 职场文书
酒店厨房管理制度
2015/08/06 职场文书
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB
Vue深入理解插槽slot的使用
2022/08/05 Vue.js