连接并使用 JetBrains Gateway
最后修改时间:2023 年 11 月 30 日您可以使用 SSH 连接来连接到远程服务器来开发、运行和部署您的项目。
警告
在开始开发之前,请确保满足系统要求。
先决条件
在开始在远程计算机上进行开发之前,请确保您具备以下条件:
远程计算机(IDE 的目标)满足IDE 文章中推荐的最低要求。
笔记
由于 JetBrains Client 是瘦客户端轻量级应用程序,因此对磁盘空间和计算机资源的要求低于主机。
您已在Linux平台上安装了兼容的SSH服务器。
笔记
服务器部分是独立的,因此不需要安装特殊的依赖项。它还可以在任何
glibc
基于 Docker 镜像上运行(即不在 Alpine 上)。Linux 平台具有任何最新的 Linux AMD64 发行版,例如 Ubuntu 16.04+、RHEL/Centos 7+ 等。我们建议使用具有 2 个以上内核、4 GB 以上 RAM 和 5 GB 以上磁盘空间的计算机。
您需要在远程主机上启用sftp子系统。在当前的实现中,我们将其用于后端部署。
JetBrains 网关
JetBrains Gateway 是一个轻量级启动器,可将远程服务器与本地计算机连接,在后端下载必要的组件,并在JetBrains Client中打开您的项目。
您可以使用 JetBrains Gateway 作为独立启动器或作为 IDE 的入口点来连接到远程服务器。
启动 JetBrains Gateway 并连接到远程服务器
使用其中一种安装方案打开远程开发向导。
下载并安装JetBrains Gateway 应用程序。
或者,您可以通过远程开发选项从 IDE 的欢迎屏幕访问 JetBrains Gateway 。
单击SSH连接提供程序下的“新建连接”。
笔记
您还可以单击“通过链接连接”并输入之前生成的链接,以连接到“Code With Me”会话或远程服务器。
在向导的下一页上,指定要通过其连接到远程服务器的 SSH 配置。
或者,单击打开“SSH 配置”对话框并配置 SSH 设置。
在“SSH 配置”对话框中,添加以下信息:
Host:指定远程服务器的地址。
Port:指定 SSH 端口,默认为
22
。本地端口:指定出站端口。
例如,
TCP 10.101.0.1:50705->13.49.137.87:22 (ESTABLISHED)
。用户名:指定将用于连接到远程服务器的用户名。
身份验证类型:选择以下身份验证方法之一:
密码:使用密码访问主机。要在 PyCharm 中保存密码,请选中“保存密码”复选框。
密钥对(OpenSSH 或 PuTTY):通过密钥对使用SSH 身份验证。要应用此身份验证方法,您必须在客户端计算机上拥有私钥并在远程服务器上拥有公钥。PyCharm 支持使用OpenSSH实用程序生成的私钥。
指定存储私钥的文件的路径,并在相应字段中输入密码(如果有)。要让 PyCharm 记住密码,请选中“保存密码”复选框。
解析配置文件 ~/.ssh/config:如果您希望 JetBrains Gateway 使用该
.ssh/config
文件,请选择此选项。
测试连接:点击此按钮查看连接是否建立。
连接参数:使用此部分配置连接的其他参数。
HTTP/SOCKS 代理:使用此部分配置代理设置。有关详细信息,请参阅代理设置。
单击“确定”保存更改并返回“欢迎使用 JetBrains Gateway”对话框。
单击“检查连接”并“继续”检查连接是否建立。
在下一页上,指定要下载到远程服务器的 PyCharm 版本。JetBrains Gateway 显示可供下载的 IDE 版本和已安装的版本的列表。
下载到本地计算机的JetBrains 客户端版本始终与远程 IDE 版本匹配。
默认情况下,下载的 PyCharm 位于远程服务器上的以下文件夹中:~
单击其他选项并选择自定义安装路径选项。
在“安装路径”字段中添加所需的安装位置。
添加远程主机上项目的路径。
单击上传 IDE 并连接。
JetBrains Gateway下载 IDE,并在JetBrains Client中打开您的远程项目。连接显示在JetBrains Gateway窗口中,您可以从中连接到其他 IDE 或禁用连接。默认情况下,此窗口隐藏在托盘中。
在打开项目之前,您可以覆盖-Xmx
后端的 VM 选项。
覆盖 -Xmx VM 选项
启动JetBrains 网关。
按照向导的步骤操作。单击检查连接并继续。
在打开的页面上,在IDE 版本字段下,单击安装选项。
从下拉列表中,选择“自定义堆大小”。
在最大堆大小字段中,根据需要覆盖默认堆大小。
请注意,该字段只能包含数值,并且不能超过该
INT_MAX
值。笔记
如果要返回默认值,请再次单击“安装选项”并选择“使用默认堆大小”。
完成配置后,单击“下载 IDE 并连接”以启动您的项目。
打开最近的项目
在JetBrains Gateway向导中,从左侧的选项中选择SSH 。
在搜索字段中输入项目名称以快速导航到该项目。
如果您需要快速访问终端,请单击。
修改后台版本
在JetBrains Gateway向导中,单击最近项目名称旁边的 ,然后选择要用来打开项目的后端版本。
如果您在列表中找不到所需的版本,请单击选择不同的 IDE ,然后在IDE 版本字段中选择所需的 IDE 版本。
停止正在运行的实例
在JetBrains Gateway向导中,从左侧的选项中选择SSH 。
当远程会话处于活动状态时,项目旁边会显示正在运行指示器。
单击项目旁边的 并选择“停止 IDE 后端”以停止该项目的远程会话。
您还可以选择从最近的项目中删除来完全删除页面上列出的项目。
卸载后端IDE版本
在JetBrains Gateway向导中,单击远程服务器的名称,然后选择管理 IDE 后端以打开已安装 IDE 版本的列表。
在打开的窗口中,单击需要卸载的后端 IDE 版本旁边的 ,然后单击“是”确认操作。
连接到手动启动的远程 IDE 上的远程项目(服务器到客户端流程)
如果您已在远程服务器上安装了 PyCharm,则可以手动启动它并连接到在该 IDE 中启动的远程项目。它的工作方式与JetBrains Gateway相同。
如果您的公司有自定义编排或者您的远程 IDE 自动启动,请使用此方法。
该过程可以描述如下:
在远程 IDE 中启动后端项目。
选择后端生成的连接链接之一。
在本地计算机上打开链接。
运行远程 IDE 的主脚本是remote-dev-server.sh
,位于bin
解压的 IDE 的子目录中。
笔记
如果后端安装了 JetBrains Gateway,则默认路径为
/home/your_system_user/.cache/JetBrains/RemoteDev/dist/
。
笔记
有关更多信息和可用参数,请运行
remote-dev-server.sh --help
笔记
请记住,该连接绑定到特定项目。要连接到另一个远程项目,您需要配置新的连接。
连接到远程 IDE
确保您已下载并安装 JetBrains Gateway ,或者本地计算机上有带有JetBrains Gateway插件的 IDE。
确保您已通过 SSH 使用 PyCharm 连接到远程计算机。
在远程服务器的终端中,运行以下命令:
remote-dev-server.sh run /path_to_project/ --ssh-link-host host_server_address --ssh-link-user remote_side_user --ssh-link-port ssh_connection_port
检查以下示例:
如果不传递参数,脚本将使用默认参数:22 端口、系统用户的用户名和命令中的主机
hostname
。~/PY-213.5744.248/bin/remote-dev-server.sh run ~/home/jetbrains/PythonProjects/SampleApp/ --ssh-link-host ec2-13-50-136-85.eu-north-1.compute.amazonaws.com
如果项目成功启动,作为输出,您应该在终端中收到以下 3 个链接:
加入链接: tcp://127.0.0.1:5990...[ ]:包含远程 IDE 现在正在侦听的本地地址和端口。
例子:
tcp://127.0.0.1:5991#jt=71e779a1-070e-4fd3-a4e6-83c1f8cb65a5&p=IU&fp=A42F6041C2878D7A22339ECABF4A9C294F643BG05E91E3DFC06035E03DB71BF8&cb=222.4167.29&jb=17.0.4b469.53
要使用它,请确保远程计算机可以通过此本地地址访问。例如,对于具有转发/开放端口的内部 Docker IDE。
提示
ssh -L
有关详细信息,请参阅命令行中命令的输出。HTTP 链接:https://code-with-me.jetbrains.com/remoteDev...[ ]:包含有关您的主机端口用户、IDE 及其版本的信息。
例子:
https://code-with-me.jetbrains.com/remoteDev#idePath=%2Fhome%2Fubuntu%2F.cache%2FJetBrains%2FRemoteDev%2Fdist%2F3e4cd27bfbb95_ideaIU-2022.2.2&projectPath=%2Fhome%2Fubuntu%2Fdevelopment%2Fspring-petclinic&host=ec2-xx-xx-xxx-xx.eu-north-1.compute.amazonaws.com&port=22&user=ubuntu&type=ssh&deploy=false
在本地浏览器中打开时,它会显示欢迎页面,并尝试使用预填充的连接设置值调用本地网关应用程序。
如果在本地计算机上找不到 JetBrains Gateway 应用程序,您可以从欢迎页面下载它。
网关链接:jetbrains-gateway://connect#idePath... [ ]:还包含有关您的主机端口用户、IDE 及其版本的信息。
例子:
jetbrains-gateway://connect#idePath=%2Fhome%2Fubuntu%2F.cache%2FJetBrains%2FRemoteDev%2Fdist%2F3e4cd27bfbb95_ideaIU-2022.2.2&projectPath=%2Fhome%2Fubuntu%2Fdevelopment%2Fspring-petclinic&host=ec2-xx-xx-xxx-xx.eu-north-1.compute.amazonaws.com&port=22&user=ubuntu&type=ssh&deploy=false
在本地浏览器中打开时,它会直接启动本地 JetBrains Gateway 应用程序,而无需显示欢迎页面。
复制生成的链接并将其粘贴到本地浏览器中,以允许其打开 JetBrains Gateway。
所有这些链接也可以在已经启动的 JetBrains Gateway 中打开。
为此,在 JetBrains Gateway 欢迎屏幕上,将链接粘贴到连接到正在运行的 IDE字段中,然后单击连接。
PyCharm 下载所需版本的 JetBrains Client 并打开其中的远程项目。
注册先前安装的远程 IDE
从版本221.5481开始,您可以在远程服务器上手动注册现有后端 IDE 并使其对 Gateway 可见。
要注册已安装的 IDE 并使其显示在可用版本列表中,请执行以下步骤:
通过 SSH 连接到远程服务器。
找到解压后的IDE文件夹并打开该
bin
目录。使用命令行运行以下命令:
remote-dev-server.sh registerBackendLocationForGateway
例子:
sh WebStorm-221.5591.52/bin/remote-dev-server.sh registerBackendLocationForGateway
连接到谷歌云
您可以使用 JetBrains Gateway 连接到 Google Cloud 以处理远程项目。
在连接到 Google Cloud 之前,请确保您已完成以下操作:
设置云工作站配置文件和集群(由您或管理员完成)
创建了一个工作站
已访问工作站
云工作站插件允许您连接工作站并在 PyCharm 中使用它。
连接到您在 Google Cloud 中的工作站
从左侧的选项中选择所有提供商。
在“安装更多提供商”部分中,找到Google Cloud并点击“安装”。
安装插件后,您可以在远程运行 IDE部分找到它。
从左侧的选项中,找到Cloud Workstations并点击Connect to Google Cloud。
在打开的窗口中,选择首选工作站并单击“下一步”。
笔记
如果您需要切换到 Google Cloud 信息中心并管理 Cloud 工作站,请点击Cloud 控制台。
在下一页上,选择您在配置文件中选择作为代码提供程序的 IDE 版本以及您要使用的项目。
连接已建立,包含项目的工作站在 JetBrains Client 中打开,您可以在 IDE 中进一步工作。
连接到 Gitpod
JetBrains Gateway 支持与Gitpod集成,Gitpod 是一个用于自动化开发人员环境的开源编排和配置平台。
Gitpod 在 JetBrains Gateway 中作为插件提供,您可以使用它连接到现有的 Gitpod 工作区或创建一个新工作区并在 PyCharm 中使用它。
连接到 Gitpod 上的工作区
从左侧的选项中选择远程开发。
在“安装更多提供程序”部分中,找到Gitpod并单击“安装”。
安装插件后,您可以在“远程开发”节点以及“安装更多提供程序”部分中找到它。
从右侧的选项中,找到Gitpod并单击Connect to Gitpod。
。
在打开的窗口中,选择您想要使用的 IDE。
笔记
如果您需要切换到 Gitpod 仪表板、阅读 Gitpod 文档或从 Gitpod 注销,请单击此按钮。
单击“新建工作区”。
JetBrains Gateway 将您连接到浏览器中的 Gitpod 工作区。Gitpod 准备工作区并显示有关在 JetBrains 客户端中打开工作区的通知。
单击“允许”,然后在身份验证对话框中单击“是” 。
连接已建立,项目的工作区在 JetBrains Client 中打开,您可以在 IDE 中进一步工作。
创建的工作区将添加到“最近的工作区”部分。如果您有现有工作区,它们将添加到最近的工作区列表中,并且您可以随时通过单击所需工作区的“连接”来连接到它们。
如果您想直接从 Gitpod 连接到 JetBrains Gateway,请遵循Gitpod 文档。
连接到 GitHub Codespaces
您可以使用 JetBrains Gateway 连接到GitHub Codespaces以处理远程项目。
GitHub Codespaces 在 JetBrains Gateway 中作为插件提供,您可以使用它连接到现有环境或创建新环境并在 PyCharm 中使用它。
在尝试连接之前,请确保满足以下先决条件:
您拥有 GitHub CLI 版本 2.2.0 或更高版本。
您可以使用以下命令检查版本:
$ gh --version
连接到您的 Codespaces 开发人员环境
单击屏幕底部的 并选择管理提供商。
在打开的页面上的Marketplace选项卡上,找到GitHub Codespaces,安装并启用该插件。
该插件将添加到连接列表中。
从左侧的选项中选择所有提供商。
从右侧的选项中,找到GitHub Codespaces并单击Connect to Codespaces。
在下一页上,按照 GitHub Codespaces 说明在 GitHub 上授权您的帐户。
授权完成后,会显示可用的GitHub Codespaces列表,您可以选择所需的项目。
笔记
如果您需要添加新的 Codespace 或停止现有的 Codespace,请单击管理 GitHub 上的 Codespaces链接。
选择要运行的 IDE 版本,然后单击“连接”。
包含所选项目的 GitHub Codespaces 开发环境将在 JetBrains Client 中打开,您可以在其中在 IDE 中进一步工作。
连接到 Amazon CodeCatalyst 开发环境
Amazon CodeCatalyst 是一个面向软件开发团队的基于云的协作空间。
您可以使用 JetBrains Gateway 连接到Amazon CodeCatalyst以处理您的远程项目。或者,您可以从 CodeCatalyst 端连接并在 JetBrains 客户端中打开您的项目。
Amazon CodeCatalyst 可通过AWS Toolkit插件在 JetBrains Gateway 中使用,您可以使用该插件连接到现有环境或创建新环境并在 PyCharm 中使用它。
在尝试连接之前,请确保满足以下先决条件:
您必须拥有有效的 AWS Builder ID 和 CodeCatalyst 账户。
您已安装并启用AWS Toolkit。
从 JetBrains Gateway 连接到您的开发环境
单击屏幕底部的 并选择管理提供商。
在打开的页面上的Marketplace选项卡上,找到AWS Toolkit,安装并启用该插件。
该插件将添加到连接列表中。
从左侧的选项中选择所有提供商。
从右侧的选项中,找到Amazon CodeCatalyst并单击Login to AWS Builder ID。
在向导的下一页上,登录您的 AWS 账户。
选择IDE,添加创建开发环境所需的信息,然后单击创建开发环境。
开发环境已创建,项目在 IDE 中打开。
您还可以从 Amazon CodeCatalyst 控制台创建开发环境并使用 JetBrains Gateway 连接到它。
从 Amazon CodeCatalyst 连接
登录您的 Amazon CodeCatalyst 账户。
在创建的空间中,找到并打开您的项目。
如果您尚未设置开发环境,请单击创建开发环境。
在可用 IDE 列表中,选择您需要的 IDE,添加必要的信息,然后单击Create。
开发环境已创建,向您显示活动状态。
单击继续以打开 JetBrains Gateway 和 JetBrains Client 中的项目。
当开发环境准备就绪时,项目将在 IDE 中打开,您可以在其中进一步使用它。
连接到编码器
您可以使用 JetBrains Gateway 连接到Coder以处理远程项目。
Coder 在 JetBrains Gateway 中作为插件提供,您可以使用它连接到现有环境或创建新环境并在 PyCharm 中使用它。
连接到 Coder 工作区
单击屏幕底部的 并选择管理提供商。
在打开的页面上的Marketplace选项卡上,找到Coder,安装并启用该插件。
该插件将添加到连接列表中。
从左侧的选项中选择所有提供商。
确保您已在Coder中配置工作区并复制访问 URL。
在 JetBrains Gateway 中,单击“连接到 Coder”。
在向导的下一页的URL字段中,粘贴复制的 URL并单击“连接”。
从浏览器复制会话令牌并将其粘贴到 JetBrains Gateway 的会话令牌字段中。
单击“确定”。
当一切都经过身份验证后,您将看到已配置的工作区列表,选择您需要的工作区,然后单击Select IDE and Project。
在向导的下一页上,选择所需的 IDE 并指定工作区中项目的路径。如果您需要使用工作区终端,请单击“使用终端”。
选择所有内容后,单击启动 IDE 并连接。
包含所选项目的 Coder 开发环境将在 JetBrains Client 中打开,您可以在 IDE 中进一步工作。
连接到在 WSL2 上运行的项目
您可以将 IDE 后端配置为直接在 WSL2 中启动。
在开始连接到 WSL 之前,请确保满足以下先决条件:
您的计算机上安装了 Windows 10 或 11 版本,并在 WSL2 下安装了 Ubuntu 20.04 版本。
您已在 Windows 计算机上配置了 WSL2。有关更多信息,请参阅WSL2 配置部分。
您至少有 200 GB 可用空间、8 GB RAM 和 4 个 CPU。
您使用 JetBrains Gateway 的最新 EAP 版本。
您使用后端 IDE 的最新 EAP 版本。
连接到 WSL
在“所有提供商”列表中选择 WSL。
从右侧的选项中,单击“新建连接”。
在下一页上,选择 WSL 实例并单击Next。
在下一页上,选择 IDE 版本和要打开的项目。单击启动 IDE 并连接。
连接已建立,后端 IDE 已下载,项目已在 JetBrains Client 中打开。
感谢您的反馈意见!