PyCharm 2025.3 Help

安全模型

当您的工作需要访问远程服务器时,您需要确保本地计算机与后端之间的连接是安全的,且往返传输的任何数据都经过良好加密。

远程开发的安全模型可让您控制工作中的几乎所有安全方面。

服务器端和客户端上都运行着 IDE 组件。 后端加载的任何信息都可能在无需进一步与用户交互的情况下转发到客户端,而提供给客户端的任何信息也可能在无需进一步与用户交互的情况下转发到服务器端进程。

连接安全性

JetBrains Client 与 IDE 后端之间的通信即使在安全的 SSH 隧道中进行,也使用 TLS 1.3 进行端到端加密。 JetBrains 使用 TLS 1.3,并在其之上使用 SSH 安全连接。

由于在远程开发中没有来自根证书的信任层级,因此会执行额外的手动检查,以确保不存在中间人攻击。

常规连接地址如下所示:

tcp://0.0.0.0:5990#jt=71b0a870-e082-4e6b-aaf6-757398801cd2&p=IU&fp=17DC5CAB759FD8BB4298AF1116EA7D5E1F1D3C4D520CFC99748DBD0A88840B36&cb=223.2951&jb=17.0.4b535.2
  • 建立连接时,客户端会检查主机证书的指纹是否完全等于 fp。 这可让客户端验证主机是正确的(未被第三方劫持)。

  • 建立连接时,主机会检查客户端是否提供了一次性连接令牌 jt。 任何在此端口上不知道该令牌的连接都会被拒绝。

通过此连接传输任何身份验证信息,或通过公共渠道传递此连接数据,都是安全的。 对于 Code With Me ,也采用相同方式。

收集日志和统计信息

JetBrains 会在获得您的许可后收集统计信息和日志。 默认情况下,所有正式版本均禁用数据共享,而 PyCharm 的 预览版和早期访问计划 (EAP) 版本则启用数据共享。

配置数据共享

选中 发送使用统计数据 复选框,允许 JetBrains 收集您在使用 PyCharm 时所用功能和操作的匿名统计信息。

数据共享对话框

选中 使用 EAP 版本时发送使用统计数据 复选框,允许 JetBrains 收集您在使用 PyCharm 时所用功能和操作的统计信息。

EAP 版本中的数据共享对话框

有关此数据的收集和使用的更多信息,请参阅 数据共享设置

收集日志

当 JetBrains 要求您收集并发送日志时,也会警告您日志可能包含敏感数据。

  1. 在主菜单中,转到 帮助 | 收集日志和诊断数据

  2. 在打开的对话框中,点击 在 Finder 中显示 ,如果您同意将数据发送给 JetBrains。

    敏感数据对话框

有关 JetBrains 隐私政策的完整信息,请参阅 JetBrains 网站

打开任意链接

IDE 可能需要为各项功能打开浏览器。 请注意,服务器端没有浏览器。 在这种情况下,请求会重定向到 JetBrains Client。

在客户端计算机上打开任意链接之前,JetBrains 会显示确认对话框。

确认对话框

复制和粘贴操作

复制 / 粘贴 操作仅会在实际粘贴之前发送剪贴板内容,并且只在实际复制期间允许后端更改剪贴板。

SSH 转发设置

SSH 转发 设置允许您使用 SSH 密钥转发,以从远程服务器对访问 Git 存储库进行身份验证。 或者,您可以使用 SSH-agent 助手来实现相同效果。

访问 SSH 转发设置

  1. Ctrl+Alt+S 打开设置,然后选择 工具 | SSH 转发

  2. 在右侧的选项中,选择 启用 SSH 代理转发 并点击 确定 以保存更改。

    SSH 代理转发

端口转发

您可以通过将其转发到本地计算机来访问远程服务器上的端口。 这可能有助于调试,或用于绕过防火墙。

通过运行工具窗口转发远程端口

  1. 启动远程会话并打开您的项目。

  2. 运行应用程序。

    运行 工具窗口中,应用程序会显示正在侦听的端口。

  3. 点击要转发的端口,并在选项列表中选择 转发端口

    转发端口

    如果希望在转发后打开浏览器,请选择 转发端口并在浏览器中打开

    这样,远程端口将被转发到本地计算机。

  4. 点击已创建的端口,在浏览器中检查结果。

    转发的端口也会添加到后端控制中心中。

    后端控制中心

通过 CLI 在前端的浏览器中打开链接

您可以从远程计算机转发端口,以在前端的浏览器中打开链接。 如果您在后端运行 Web 服务,或在远程执行的脚本中存在硬编码的链接,这会很有用。

  1. 打开您的远程项目。

  2. 打开远程终端 Alt+F12

  3. 使用以下命令之一来转发该端口:

    • idea openUrlOnClient http://localhost:$port

    • remote-dev-server serverMode openUrlOnClient https://localhost:$port

通过后端控制中心管理端口转发

您可以通过后端控制中心添加、删除或编辑端口。

添加端口

  1. 打开您的远程项目。

  2. 在主工具栏上,点击后端名称以打开后端控制中心窗口。

  3. 在打开的窗口中,在 端口 选项卡上,点击 新增 以添加新端口。

    您可以使用 移除端口 删除端口。 在项目重新启动时,它也会从 forwardedPorts.xml 文件中移除。

  4. 在建议的字段中,输入端口号,并点击 应用 以保存更改。

    添加新端口
  5. 添加的端口会保存在 forwardedPorts.xml 文件中。

    重新启动您的项目,即可在 forwardedPorts.xml 文件中看到添加的端口。

    已转发的端口

移除端口

  1. 打开您的远程项目。

  2. 在主工具栏上,点击后端名称以打开后端控制中心窗口。

  3. 在打开的窗口中,在 端口 选项卡上,选择要移除的端口并点击 移除端口

    在项目重新启动时,该端口也会从 forwardedPorts.xml 文件中移除。

更改端口

  1. 在打开的窗口中,在 端口 选项卡上,点击 新增 以添加新端口。

  2. 在建议的字段中,输入端口号,并在点击 应用 保存更改之前,通过点击端口地址字段来更改端口号。

    更改端口

请注意以下事项:

  • 如果您停止转发该端口,且该端口未在其他已打开的项目中使用,则会从 forwardedPorts.xml 文件中移除。

  • 当您关闭应用程序时,端口转发会停止。 当项目重新打开时,会从 forwardedPorts.xml 文件(按项目)加载端口、进行转发,并在必要位置显示。

禁用端口转发

出于安全原因,您可以为特定用户或整个系统禁用端口转发设置。

应在主机 IDE 端进行更改。

对于特定用户的设置,请在以下目录中创建一个文本文件:

/Users/UserName/Library/Application Support/JetBrains/portForwarding/enabled

对于系统范围的设置,请在以下目录中创建一个文本文件:

/Library/Application Support/JetBrains/portForwarding/enabled

对于特定用户的设置,请在以下目录中创建一个文本文件:

$HOME/.config/JetBrains/portForwarding/enabled

对于系统范围的设置,请在以下目录中创建一个文本文件:

/etc/xdg/JetBrains/portForwarding/enabled

对于特定用户的设置,请使用以下注册表项:

HKEY_CURRENT_USER

对于系统范围的设置,请使用以下注册表项:

HKEY_LOCAL_MACHINE

SOFTWARE\JetBrains\portForwarding 目录中创建一个键,并将此设置的值设为启用。

为某个用户或整个系统禁用端口转发

出于安全目的,您可以使用 OsRegistryConfigProvider 操作系统注册表,为特定用户或整个系统完全禁用端口转发(porForwarding)。 注册表的位置取决于您的操作系统。

对于特定用户的设置,请在以下目录中创建一个文本文件:

/Users/UserName/Library/Application Support/JetBrains/portForwarding/enabled

对于系统范围的设置,请在以下目录中创建一个文本文件:

/Library/Application Support/JetBrains/portForwarding/enabled

对于特定用户的设置,请在以下目录中创建一个文本文件:

$HOME/.config/JetBrains/portForwarding/enabled

对于系统范围的设置,请在以下目录中创建一个文本文件:

/etc/xdg/JetBrains/portForwarding/enabled

对于特定用户的设置,请使用以下注册表项:

HKEY_CURRENT_USER

对于系统范围的设置,请使用以下注册表项:

HKEY_LOCAL_MACHINE

SOFTWARE\JetBrains\portForwarding 目录中创建一个键,并将此设置的值设为启用。

如果该键不存在,则默认认为该设置为 true。

反向端口转发

您可以配置反向端口转发,以便从远程计算机向本地计算机发起连接。 例如,当您在移动设备上开发应用程序,或处理需要访问您本地计算机上数据库的远程应用程序时,这非常有用。 反向端口转发是持久化的,因此在重新连接或打开项目时会自动转发该端口。

使用反向端口转发时,您需要考虑并缓解一些潜在的安全风险:

未经授权的访问

请确保仅与您完全信任的服务器或个人一起使用反向端口转发。

数据暴露

请确保在转发敏感数据时对其进行加密。

恶意软件

请确保您计算机上的安全工具定期更新。

配置反向端口转发

  1. 打开您的远程项目。

  2. 打开 后端控制中心

  3. 在打开的窗口中,点击 端口 选项卡,然后点击 新增 以添加新端口,并选择 本地到远程

    反向端口转发
  4. 在端口字段中,添加所需的端口号,并点击 应用

    后端控制中心
  5. 在打开的对话框中,确保您信任请求端口转发的远程服务器,然后点击 允许

    端口转发
    端口转发

持久化反向端口转发

  1. 连接到您的远程项目。

  2. 在远程项目中,连续按两次 Shift 打开 随处搜索 窗口,输入 注册表

    搜索结果

    请确保在后端主机和前端 IDE 上都启用了相关标志。

  3. 打开 注册表(在主机上) 工具窗口(后端),检查 portForwarding.store.reverse.enabled 标志。

    注册表(主机)窗口
  4. 打开 注册表 工具窗口(前端),检查 rdct.portForwarding.store.reverse.enabled 标志。

    注册表窗口

反向端口转发是持久化的。 有关反向端口的信息存储在 forwardedPorts.xml 文件中的 reversePorts 部分。

更改 JetBrains Client 的下载位置

您可以在下载后重新定义 JetBrains Client 的文件夹和文件的存储位置。

对于特定用户的设置,请在以下目录中创建一个文本文件:

/Users/UserName/Library/Application Support/JetBrains/JetBrainsClient/downloadDestination

文件的内容为 path/to/directory

对于系统范围的设置,请在以下目录中创建一个文本文件:

/Library/Application Support/JetBrains/JetBrainsClient/downloadDestination

文件的内容为 path/to/directory

对于特定用户的设置,请在以下目录中创建一个文本文件:

$HOME/.config/JetBrains/JetBrainsClient/downloadDestination

文件的内容为 path/to/directory

对于系统范围的设置,请在以下目录中创建一个文本文件:

/etc/xdg/JetBrains/JetBrainsClient/downloadDestination with content path/to/directory

文件的内容为 path/to/directory

对于特定用户的设置,请使用 HKEY_CURRENT_USER 注册表。

对于系统范围的设置,请使用 HKEY_LOCAL_MACHINE 注册表。

SOFTWARE\\JetBrains\\JetBrainsClient 中创建一个键 downloadDestination ,其值包含 path/to/directory

最后修改日期: 2025年 12月 2日