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

作者:简之 时间:2022-10-09 19:44:31 

由于想要使用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 的时候选择刚刚配置的解释器就能远程调试了,基本跟使用本地解释器没有什么区别。

来源:https://blog.csdn.net/olizxq/article/details/88636468

标签:pycharm,ssh,远程,服务器
0
投稿

猜你喜欢

  • Python3.x版本中新的字符串格式化方法

    2021-10-12 17:32:23
  • Python的函数使用介绍

    2022-07-02 12:05:42
  • Python 批量刷博客园访问量脚本过程解析

    2023-11-23 21:30:14
  • pandas读取Excel批量转换时间戳的实践

    2023-04-20 12:47:07
  • PHP网页游戏学习之Xnova(ogame)源码解读(三)

    2024-06-05 15:41:29
  • Mysql复制表三种实现方法及grant解析

    2024-01-13 06:03:23
  • Python基于Floyd算法求解最短路径距离问题实例详解

    2022-05-23 09:45:47
  • 用Python实现一个模仿UP主弹幕控制的直播间功能

    2023-02-24 18:13:27
  • 24个实用JavaScript 开发技巧

    2024-04-10 11:03:39
  • django之状态保持-使用redis存储session的例子

    2023-07-29 20:14:07
  • Python使用当前时间、随机数产生一个唯一数字的方法

    2022-02-10 14:57:07
  • 基于Bootstrap模态对话框只加载一次 remote 数据的解决方法

    2024-04-27 15:24:18
  • 使用python实现UDP通信方式

    2021-09-19 13:48:35
  • Pytorch 和 Tensorflow v1 兼容的环境搭建方法

    2022-04-05 12:19:06
  • matplotlib绘制折线图的基本配置(万能模板案例)

    2022-09-06 18:06:17
  • python得到单词模式的示例

    2021-04-22 08:25:48
  • 使用ERWin进行基于MySQL数据库的物理设计

    2009-01-04 12:54:00
  • Python查找算法之插补查找算法的实现

    2021-03-12 08:16:57
  • Facebook是如何设计的[译]

    2009-09-17 13:10:00
  • Python实现手机号自动判断男女性别(实例解析)

    2021-06-24 21:47:28
  • asp之家 网络编程 m.aspxhome.com