如何在PyCharm中配置远程服务器?

在PyCharm中配置远程服务器

本文介绍两种连接远程 Linux 服务器的方法:终端命令行 SSH 连接与 IDE 内置 SSH 配置,从安全实践到完整配置步骤均有覆盖。

目录


一:使用终端命令行连接Linux服务器

首先,查看 Linux 服务器上的 IP 地址:

# 方法1:ip 命令(推荐,替代 ifconfig)
ip addr show
# 或简写
ip a
# 方法2:只显示 IPv4 地址
ip -4 addr show
# 方法3:提取 IP 地址(简化输出)
hostname -I
# 直接显示所有 IP 地址,空格分隔

从安全角度考虑,建议不要使用 root 用户进行 SSH 连接:

# 查看当前登录用户
whoami

1. 使用普通用户连接

# 语法
ssh 普通用户名@服务器IP
# 示例
ssh zhangsan@192.168.1.100
# 输入密码

2. 安全建议配置

更安全的 SSH 配置(编辑 /etc/ssh/sshd_config

PermitRootLogin no        # 禁止 root SSH 登录
PasswordAuthentication no # 禁用密码登录(使用密钥)
AllowUsers zhangsan lisi   # 只允许特定用户登录

3. 连接命令示例

# 使用普通用户 + 密钥登录
ssh -i ~/.ssh/mykey.pem zhangsan@192.168.1.100

# 需要 root 时
sudo command    # 单条命令
sudo -i         # 切换到 root shell

本小节总结

  • 日常操作:用普通用户 SSH 连接
  • 需要权限:使用 sudo 临时提权
  • 最佳实践:禁用 root 远程登录,使用普通用户 + sudo + 密钥认证

这样既安全又灵活,是目前 Linux 服务器管理的标准做法。


二:直接在PyCharm上进行SSH配置

0. 配置前的准备工作

Tools → Deployment 里,单击 "Upload changed files automatically to the default server",确保自动上传没有被勾选上。

在 PyCharm 的 Tools → Deployment → Options 里,"Exclude items by name" 这一栏就是用来阻止那些你不想同步到远程服务器的文件和文件夹的。它采用分号分隔的模式列表,支持通配符 *(匹配任意字符)和 ?(匹配单个字符),可以匹配文件或目录名。

Deployment_Options

根据你的场景(本地 Windows 项目带虚拟环境,但只想用远程 Linux 环境的代码,不想上传本地虚拟环境和无关文件),可以这样配置排除项:

.svn;.cvs;.idea;.DS_Store;.git;.hg;*.hprof;*.pyc;__pycache__;Scripts;Lib;pyvenv.cfg;.vscode

逐个解释这些排除项的意义:

  • .svn;.cvs;.idea;.DS_Store;.git;.hg:版本控制或 IDE 元数据,本地有用,服务器不需要。
  • *.hprof:Java 内存分析文件(如果你项目里没有可去掉,保留也无妨)。
  • *.pyc;__pycache__:Python 字节码,服务器上会自动生成,无需从本地上传。
  • Scripts;Lib;pyvenv.cfg:核心需求——Windows 虚拟环境的目录及配置文件,Linux 下完全无用,且会污染服务器项目目录。
  • .vscode:如果你用 VS Code,这个文件夹也不需要同步到服务器。

1. 添加新的解释器

点击 PyCharm 窗口右下角 解释器配置,选择 添加新的解释器

添加新解释器

2. 选择 SSH 连接方式

选择 在SSH上...

在ssh上

这里,主机 填上面查询到的 IP 地址(IPv4),端口默认为 22用户名 填你要连接的 Linux 服务器上的账号用户。

3. 填写密码

下一步,填写密码:

输入密码

4. 配置环境

下一步到配置环境:

配置ssh环境

可以选择现有环境。

5. 映射项目目录

找到 Tool(工具)→ Deployment(部署)→ Configuration(配置)→ Mappings(映射),选择你服务器上的部署路径:

tool_deployment

映射路径

这样,就完成了!

6. 后续操作

点击 PyCharm 左侧导航栏中的 终端,点击新建预定会话,就可以看到你刚才的 SSH 配置:

pycharm终端

这样就可以在这个终端进行命令行操作了。

posted @ 2026-05-13 22:36  only赟  阅读(26)  评论(0)    收藏  举报