PyCharm 2025.2 Help

安全模型

当您的工作涉及访问远程服务器时,您会希望确保本地计算机与后端之间的连接是安全的,并且所有来回的数据都经过良好的加密。

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

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

连接安全

即使在安全的 SSH 隧道中进行,JetBrains Client 和 IDE 后端之间的通信也是通过 1.3 TLS 进行端到端加密的。 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。 它拒绝为不了解该 token 的任何人在此端口上的连接。

通过此连接传输任何身份验证信息或通过公共空间传递此连接数据是安全的。 对于 Code With Me 也是以相同的方式完成的。

收集日志和统计数据

JetBrains 在获得您的许可后会收集统计数据和日志。 默认情况下,数据共享在所有发布版本中都是禁用的,而在 PyCharm 的 预览版和早期访问程序 (EAP) 版本中是启用的。

配置数据共享

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

数据共享对话框

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

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

有关此数据的收集和使用的更多信息,请参阅 data sharing settings

收集日志

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

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

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

    敏感数据对话框

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

打开任意链接

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

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

确认对话框

复制和粘贴操作

复制 / 粘贴 操作仅在实际粘贴前发送剪贴板的内容,并仅在实际复制时允许后端更改剪贴板。

SSH 转发设置

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

访问 SSH 转发设置

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

  2. 从右侧的选项中选择 启用 SSH agent 转发 并点击 确定 保存更改。

    SSH Agent Forwarding

端口转发

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

通过 Run 工具窗口转发远程端口

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

  2. 运行应用程序。

    运行 工具窗口中,应用程序显示监听端口。

  3. 点击您要转发的端口,然后从选项列表中选择 转发端口

    转发端口

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

    因此,远程端口被转发到本地计算机。

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

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

    后端控制中心

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

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

添加端口

  1. 打开您的远程项目。

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

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

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

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

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

    重新启动您的项目以查看 forwardedPorts.xml 文件中的新增端口。

    转发端口

删除端口

  1. 打开您的远程项目。

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

  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 目录中创建一个键,并将此设置的值设置为 enabled。

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

出于安全目的,您可以使用 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 目录中创建一个键,并将此设置的值设置为 enabled。

如果此键不存在,设置将默认视为 true。

反向端口转发

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

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

未经授权的访问

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

数据暴露

确保在转发敏感数据时,它是加密的。

恶意软件

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

配置反向端口转发

  1. 打开您的远程项目。

  2. 打开 backend control center

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

    反向端口转发
  4. 在端口字段中,添加您需要的端口号,然后点击 应用

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

    端口转发
    端口转发

持久化反向端口转发

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

  2. 在远程项目中,按两次 Shift 打开 Search Everywhere 窗口,输入 注册表

    搜索结果

    确保您在后端主机和前端 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年 9月 26日