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,身份验证信息填写子系统的用户名和密码,即可成功登录。
注:需要注意一点,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版本),如下;
3、选择配置好的远程服务器,Path mappings与第二部分第4个步骤中的路径映射关系对应即可(由于刚开始这一步没配置好,运行时一直找不到文件,其实就是要把本地文件Upload到服务器的对应地址,才能在服务器运行),可以看到已经读取到远程服务器的Package,如下:
4、运行程序前,进入Tools -> Deployment,选择Automatic Upload(always),这样本地编辑程序后,会自动上传到服务器,以免本地文件与服务器文件不一致,导致运行出错;
5、运行程序时,也就是点击 Run 的时候选择刚刚配置的解释器就能远程调试了,基本跟使用本地解释器没有什么区别。
来源:https://blog.csdn.net/olizxq/article/details/88636468
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python3.x版本中新的字符串格式化方法
Python的函数使用介绍
![](https://img.aspxhome.com/file/2023/2/93612_0s.png)
Python 批量刷博客园访问量脚本过程解析
![](https://img.aspxhome.com/file/2023/7/63867_0s.png)
pandas读取Excel批量转换时间戳的实践
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Mysql复制表三种实现方法及grant解析
Python基于Floyd算法求解最短路径距离问题实例详解
用Python实现一个模仿UP主弹幕控制的直播间功能
![](https://img.aspxhome.com/file/2023/9/65859_0s.jpg)
24个实用JavaScript 开发技巧
![](https://img.aspxhome.com/file/2023/0/136800_0s.png)
django之状态保持-使用redis存储session的例子
Python使用当前时间、随机数产生一个唯一数字的方法
![](https://img.aspxhome.com/file/2023/6/67926_0s.png)
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
![](https://img.aspxhome.com/file/2023/7/135497_0s.png)
使用python实现UDP通信方式
![](https://img.aspxhome.com/file/2023/7/125157_0s.jpg)
Pytorch 和 Tensorflow v1 兼容的环境搭建方法
![](https://img.aspxhome.com/file/2023/1/93741_0s.png)
matplotlib绘制折线图的基本配置(万能模板案例)
![](https://img.aspxhome.com/file/2023/3/97663_0s.png)
python得到单词模式的示例
![](https://img.aspxhome.com/file/2023/9/99569_0s.jpg)
使用ERWin进行基于MySQL数据库的物理设计
Python查找算法之插补查找算法的实现
![](https://img.aspxhome.com/file/2023/7/82607_0s.png)
Facebook是如何设计的[译]
Python实现手机号自动判断男女性别(实例解析)
![](https://img.aspxhome.com/file/2023/7/120287_0s.png)