PyCharm 配置SSH和SFTP连接远程服务器


Posted in Python onMay 11, 2022

简介

  • SSH,Secure Shell,安全外壳协议,用于远程登录会话
  • SFTP,Secret File Transfer Protocol,安全文件传送协议,用于同步文件

Windows 连接远程服务器进行 Linux 环境下的 Python 开发需要结合 SSH 和SFTP

安装

安装 PyCharm Professional

PyCharm Community 没有该选项,无法配置 SSH Interpreter

PyCharm 配置SSH和SFTP连接远程服务器

登陆远程服务器

ssh user@host [-p port]

查看是否开启 SSH 服务

service sshd status

如果显示 Loaded: not-found (Reason: No such file or directory) 或 sshd: unrecognized service,则需要安装

sudo apt-get install openssh-server

如果显示 Active: inactive (dead),则需要启动

sudo /etc/init.d/ssh restart

只要 SSHD 服务启动了,SFTP便可使用

PyCharm 配置SSH和SFTP连接远程服务器

Tools → Deployment → Configuration…

PyCharm 配置SSH和SFTP连接远程服务器

+ → SFTP → New server name 随意填(如 user@host:port) → 取消勾选 Visible only for this project → SSH configuration → + → 根据 SSH 信息对应填上 → Test Connection

PyCharm 配置SSH和SFTP连接远程服务器

SFTP 这里 Test Connection → Autodetect

PyCharm 配置SSH和SFTP连接远程服务器

File → Settings → Project: xxx → Python Interpreter → 设置 → Add… → SSH Interpreter → Existing server configuration

PyCharm 配置SSH和SFTP连接远程服务器

配置 Python 解释器和同步文件夹,是否用 sudo 权限看情况勾选

PyCharm 配置SSH和SFTP连接远程服务器

初试

main.py

print(__file__)

PyCharm 配置SSH和SFTP连接远程服务器

可能需要手动同步:Tools → Deployment → Upload to…

快捷键:Ctrl + Alt + Shift + X

遇到的坑

1. EOF while reading packet

PyCharm 配置SSH和SFTP连接远程服务器

需要启动 SSHD 服务

2. sudo: unable to resolve host xxx: No such file or directory

sudo vim /etc/hosts

添加

127.0.0.1       localhost xxx

3. vim /etc/hosts 报错 “/etc/hosts” E166: Can’t open linked file for writing

查看真实路径

readlink /etc/hosts

或者把文件删了

4. Can’t get remote credentials for deployment server xxx@xxx:xx password

没填 sudo 的密码,可以重新配,直接 SSH Interpreter → New server configuration


Tags in this post...

Python 相关文章推荐
简洁的十分钟Python入门教程
Apr 03 Python
python3简单实现微信爬虫
Apr 09 Python
Python中datetime常用时间处理方法
Jun 15 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 Python
Django框架封装外部函数示例
May 28 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
Python基于pandas爬取网页表格数据
May 11 Python
Python 在函数上添加包装器
Jul 28 Python
Python configparser模块应用过程解析
Aug 14 Python
python元组打包和解包过程详解
Aug 02 Python
Python实现简单得递归下降Parser
May 02 Python
Python 文字识别
May 11 #Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 #Python
Python 匹配文本并在其上一行追加文本
May 11 #Python
Python 一键获取电脑浏览器的账号密码
May 11 #Python
图神经网络GNN算法
May 11 #Python
python神经网络ResNet50模型
May 06 #Python
python和anaconda的区别
May 06 #Python
You might like
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
vue项目中api接口管理总结
2018/04/20 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python根据出生年份简单计算生肖的方法
2015/03/27 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
python使用插值法画出平滑曲线
2018/12/15 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
银行实习人员自我鉴定
2013/09/22 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
转让协议书范本
2014/09/13 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server