安全模型
最后修改时间:2023 年 11 月 10 日当您的工作包括访问远程服务器时,您需要确保本地计算机和后端之间的连接是安全的,并且任何来回的数据都经过良好加密。
远程开发安全模型使您可以控制工作的几乎所有安全方面。
IDE 组件同时在服务器端和客户端上运行。后端加载的任何信息都可以转发到客户端而无需进一步的用户交互,并且提供给客户端的任何信息也可以转发到服务器端进程而无需进一步的用户交互。
笔记
尽管在很多情况下JetBrains会通知用户并请求许可,但也可能存在诸如GitHub授权之类的情况,转发是在后台进行的。
连接安全
即使在安全的 SSH 隧道中执行,JetBrains 客户端和 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
。它拒绝此端口上不知道此令牌的任何人的连接。
通过此连接传输任何身份验证信息或通过公共空间传递此连接数据都是安全的。Code With Me也是以同样的方式完成的。
收集日志和统计数据
JetBrains 在您的许可下收集统计数据和日志。唯一自动收集统计信息的时间是您使用 PyCharm EAP 版本的时间。在任何其他情况下,首次启动 PyCharm 时都会显示权限对话框。
如果您先同意收集,然后又改变主意,您可以在数据共享设置中禁用统计信息的收集。
访问数据设置
按打开 IDE 设置,然后选择外观和行为 | 系统设置| 数据共享。CtrlAlt0S
禁用“发送使用情况统计信息”选项,然后单击“确定”保存更改。
当 JetBrains 要求您收集和发送日志时,它还会警告您日志可能包含敏感数据。
收集日志
转到帮助| 收集日志和诊断数据。
如果您同意将数据发送到 JetBrains,请在打开的对话框中单击“在 Finder 中显示” 。
有关 JetBrains 隐私政策的完整信息,请参阅JetBrains 网站。
打开任意链接
IDE 可能需要打开浏览器才能使用各种功能。请记住,服务器端没有浏览器。在这种情况下,请求将被重定向到 JetBrains 客户端。
在客户端计算机上打开任何任意链接之前,JetBrains 会显示一个确认对话框。
复制和粘贴操作
复制/粘贴操作仅在实际粘贴之前发送剪贴板的内容,并允许后端仅在实际复制期间更改剪贴板。
SSH 转发设置
SSH转发设置允许您使用 SSH 密钥转发来验证从远程服务器对 Git 存储库的访问。或者,您可以使用 SSH-agent 帮助程序来实现相同的结果。
访问 SSH 转发设置
按打开 IDE 设置,然后选择“工具”|“IDE”。SSH 转发。CtrlAlt0S
从右侧的选项中,选择“启用 SSH 代理转发”,然后单击“确定”保存更改。
转发端口
您可以通过将远程服务器上的端口转发到本地计算机来访问该端口。它可能有助于调试目的或绕过防火墙。
笔记
您不仅可以使用运行工具窗口或后端控制中心来添加端口,还可以使用终端。
通过运行工具窗口转发远程端口
启动远程会话并打开您的项目。
运行应用程序。
在“运行”工具窗口中,应用程序显示侦听端口。
单击要转发的端口,然后从选项列表中选择“转发端口”。
如果转发后要打开浏览器,请选择转发端口并在浏览器中打开。
结果,远程端口被转发到本地计算机。
单击创建的端口,在浏览器中查看结果。
转发的端口也会添加到后端控制中心。
通过后端控制中心管理端口转发
您可以通过后端控制中心添加、删除或编辑端口。
添加端口
打开您的远程项目。
在主工具栏上,单击后端名称,打开后端控制中心窗口。
在打开的窗口中的“端口”选项卡上,单击以添加新端口。
您可以使用来删除端口。
forwardedPorts.xml
项目重新启动时,它也将从文件中删除。在建议字段中,输入端口号,然后单击“应用”保存更改。
添加的端口保存在
forwardedPorts.xml
文件中。重新启动您的项目以查看文件中添加的端口
forwardedPorts.xml
。
删除端口
打开您的远程项目。
在主工具栏上,单击后端名称,打开后端控制中心窗口。
在打开的窗口中的“端口”选项卡上,选择要删除的端口,然后单击。
forwardedPorts.xml
项目重新启动时,该端口也将从文件中删除。
更改端口
在打开的窗口中的“端口”选项卡上,单击以添加新端口。
在建议字段中,输入端口号,然后在单击应用保存更改之前,通过单击端口地址字段更改端口号。
您应该注意以下事项:
如果停止转发该端口,并且该端口未在其他打开的项目中使用,则会将其从文件中删除
forwardedPorts.xml
。当您关闭应用程序时,端口转发将停止。重新打开项目时,将从文件
forwardedPorts.xml
(每个项目)加载端口、转发并显示在必要的位置。
禁用端口转发
出于安全原因,您可以禁用特定用户或整个系统的端口转发设置。
笔记
此过程也可以应用于“Code With Me”设置。
应在主机 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
目录中创建一个使用此设置的值启用的键。
禁用用户或整个系统的端口转发
出于安全目的,您可以porForwarding
完全使用操作系统注册表为特定用户或整个系统禁用端口转发 ( ) OsRegistryConfigProvider
。注册表的位置取决于您的操作系统。
对于特定于用户的设置,请在以下目录中创建一个文本文件:
/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。
更改 JetBrains 客户端的下载位置
下载后,您可以重新定义 JetBrains 客户端文件夹和文件的存储位置。
对于特定于用户的设置,请在以下目录中创建一个文本文件:
/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
.
感谢您的反馈意见!