安全模型
当您的工作涉及访问远程服务器时,您会希望确保本地计算机与后端之间的连接是安全的,并且所有来回的数据都经过良好的加密。
远程开发安全模型让您几乎可以控制工作中的所有安全方面。
在服务器端和客户端上都有 IDE 组件运行。 后端加载的任何信息都可以在没有进一步用户交互的情况下转发给客户端,客户端提供的任何信息也可以在没有进一步用户交互的情况下转发给服务器端进程。
连接安全
JetBrains Client 与 IDE backend 之间的通信即使在安全 SSH tunnel 中进行,也会通过 1.3 TLS 进行端到端加密。 JetBrains 使用 TLS 1.3,并使用 SSH 安全连接。
由于在远程开发中不存在来自根证书的信任层级,因此需要进行额外的手动检查以确保没有中间人攻击。
常规连接链接如下:
一旦连接,客户端会检查主机证书的指纹是否与
fp完全一致。 它向客户端验证主机是否正确(未被第三方劫持)连接时,主机会检查客户端是否提供一次性连接令牌
jt。 它拒绝为不了解该 token 的任何人在此端口上的连接。
通过此连接传输任何身份验证信息或通过公共空间传递此连接数据是安全的。 对于 Code With Me 也是以相同的方式完成的。
收集日志和统计数据
JetBrains 在获得您的许可后会收集统计数据和日志。 默认情况下,数据共享在所有发布版本中都是禁用的,而在 IntelliJ IDEA 的 预览版和早期访问程序 (EAP) 版本中是启用的。
配置数据共享
选中 发送使用统计数据 复选框,允许 JetBrains 收集您在使用 IntelliJ IDEA 时使用的功能和操作的匿名统计信息。

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

有关此数据的收集和使用的更多信息,请参阅 data sharing settings。
收集日志
当 JetBrains 要求您收集并发送日志时,它也会警告您日志可能包含敏感数据。
在主菜单中,前往 。
在打开的对话框中,如果您同意将数据发送给 JetBrains,请点击 在“访达”中显示。

有关 JetBrains 隐私政策的完整信息,请参阅 JetBrains 网站。
打开任意链接
IDE 可能需要为各种功能打开浏览器。 请注意,服务器端没有浏览器。 在这种情况下,请求将被重定向到 JetBrains Client。
在客户端机器上打开任何任意链接之前,JetBrains 会显示一个确认对话框。

复制和粘贴操作
复制 / 粘贴 操作仅在实际粘贴前发送剪贴板的内容,并仅在实际复制时允许后端更改剪贴板。
SSH 转发设置
SSH 转发 设置允许您使用 SSH 密钥转发来验证从远程服务器访问 Git 存储库。 或者,您可以使用 SSH-agent 助手来达到相同的效果。
访问 SSH 转发设置
按 Ctrl+Alt+S 打开设置,然后选择 。
从右侧的选项中选择 启用 SSH agent 转发 并点击 OK 保存更改。

端口转发
您可以通过将端口转发到本地计算机来访问远程服务器上的端口。 它可能对调试或绕过防火墙有帮助。
通过 Run 工具窗口转发远程端口
启动远程会话并打开您的项目。
运行应用程序.
在 运行 工具窗口中,应用程序显示监听端口。

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

如果您想在转发后打开浏览器,请选择 转发端口并在浏览器中打开。
因此,远程端口被转发到本地计算机。
点击已创建的端口以在浏览器中检查结果。

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

通过后台控制中心管理端口转发
您可以通过后端控制中心添加、删除或编辑端口。
添加端口
打开您的远程项目。
在主工具栏上,点击 backend 的名称以打开 backend 控制中心窗口。
在打开的窗口中,在 端口 选项卡上,点击
以添加新端口。
您可以使用
删除端口。 项目重新启动时,它也会从
forwardedPorts.xml文件中删除。在建议的字段中,输入端口号,然后点击 应用 以保存更改。

添加的端口保存在
forwardedPorts.xml文件中。重新启动您的项目以查看
forwardedPorts.xml文件中的新增端口。
删除端口
打开您的远程项目。
在主工具栏上,点击 backend 的名称以打开 backend 控制中心窗口。
在打开的窗口中,进入 端口 选项卡,选择要移除的端口,然后点击
。
项目重新启动时,将从
forwardedPorts.xml文件中删除该端口。
更改端口
在打开的窗口中,在 端口 选项卡上,点击
以添加新端口。
在建议的字段中输入端口号并在点击 应用 以保存更改之前,通过点击端口地址字段更改端口号。

您应该注意以下几点:
如果您停止转发端口,并且该端口未在其他打开的项目中使用,它将从
forwardedPorts.xml文件中移除。当您关闭应用程序时,端口转发将停止。 当项目重新打开时,端口从
forwardedPorts.xml文件(每个项目)加载、转发,并显示在必要的位置。
禁用端口转发
出于安全原因,您可以禁用特定用户或整个系统的端口转发设置。
应在主机 IDE 端进行更改。
对于用户特定的设置,请在以下目录中创建一个文本文件:
对于系统范围的设置,请在以下目录中创建一个文本文件:
对于用户特定的设置,请在以下目录中创建一个文本文件:
对于系统范围的设置,请在以下目录中创建一个文本文件:
对于用户特定设置,请使用以下注册表项:
有关系统范围的设置,请使用以下注册表项:
在 SOFTWARE\JetBrains\portForwarding 目录中创建一个 key,并设置其值为此设置。
为用户或整个系统禁用端口转发
出于安全目的,您可以使用 OsRegistryConfigProvider 操作系统注册表为特定用户或整个系统完全禁用端口转发 (porForwarding)。 注册表的位置取决于您的操作系统。
对于用户特定的设置,请在以下目录中创建一个文本文件:
对于系统范围的设置,请在以下目录中创建一个文本文件:
对于用户特定的设置,请在以下目录中创建一个文本文件:
对于系统范围的设置,请在以下目录中创建一个文本文件:
对于用户特定设置,请使用以下注册表项:
有关系统范围的设置,请使用以下注册表项:
在 SOFTWARE\JetBrains\portForwarding 目录中创建一个 key,并设置其值为此设置。
如果此键不存在,设置将默认视为 true。
反向端口转发
您可以配置反向端口转发,以从远程计算机发起到本地计算机的连接。 例如,如果您正在移动设备上开发应用程序,或正在处理要求访问本地计算机上数据库的远程应用程序,这将非常有用。 反向端口转发是持久化的,因此在重新连接或打开项目时,端口会自动转发。
使用反向端口转发时,您需要考虑并减轻一些潜在的安全风险:
- 未经授权的访问
确保您仅与完全信任的服务器或个人使用反向端口转发。
- 数据暴露
确保在转发敏感数据时进行加密.
- 恶意软件
确保您机器上的安全工具定期更新.
配置反向端口转发
打开您的远程项目。
在打开的窗口中,点击 端口 选项卡,然后点击
以添加新端口并选择 本地到远程。

在端口字段中,添加您需要的端口号,然后点击 应用。

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


持久化反向端口转发
连接到您的远程项目。
在远程项目中,按两次 Shift 打开 Search Everywhere 窗口,然后输入 注册表。

确保您在后端主机和前端 IDE 上都启用了标志。
打开 注册表(主机上) 工具窗口(即后端),并检查
portForwarding.store.reverse.enabled标志。
打开 注册表 工具窗口(即前端),并检查
rdct.portForwarding.store.reverse.enabled标志。
反向端口转发是持久化的。 关于反向端口的信息存储在 forwardedPorts.xml 文件的 reversePorts 部分中。
更改 JetBrains Client 的下载位置
您可以重新定义 JetBrains Client 的文件夹和文件下载位置。
对于用户特定的设置,请在以下目录中创建一个文本文件:
文件内容是 path/to/directory。
对于系统范围的设置,请在以下目录中创建一个文本文件:
文件内容是 path/to/directory。
对于用户特定的设置,请在以下目录中创建一个文本文件:
文件内容是 path/to/directory。
对于系统范围的设置,请在以下目录中创建一个文本文件:
文件内容是 path/to/directory。
对于用户特定设置,请使用 HKEY_CURRENT_USER 注册表。
要进行系统范围的设置,请使用 HKEY_LOCAL_MACHINE 注册表。
在 SOFTWARE\\JetBrains\\JetBrainsClient 中创建一个键 downloadDestination ,其值包含 path/to/directory。