使用跳板机在 PyCharm 中配置远程服务器的 Python 环境
使用跳板机在 PyCharm 中配置远程服务器的 Python 环境
在需要通过跳板机连接到远程服务器时,PyCharm 提供了一些内置的方式,可以让你通过中间服务器访问远程机器上的 Python 解释器。本指南将介绍如何使用 PyCharm 通过跳板机连接,并在远程服务器上运行 Python。
前提条件
- PyCharm Professional 版本。
- 能够通过跳板机(Bastion host)访问远程服务器。
- 远程服务器上已安装 Python。
- 跳板机和目标服务器上的 SSH 访问已配置好(包括密钥或密码认证)。
配置步骤
1. 准备 SSH 访问(通过跳板机)
首先,确保你可以通过命令行手动通过跳板机连接到目标服务器。在本地终端中运行以下命令测试:
ssh -f -N -L 本地端口号:bastion_host:服务器端口号 user@target_server
例如:
ssh -f -N -L 1419:gadi-cpu-bdw-00.gadi.nci.org.au:22 xp@gadi.nci.org.au
这个命令使用 SSH 隧道(SSH tunneling) 将本地端口与远程服务器上的端口连接起来。
ssh
:启动 SSH 客户端,用来与远程服务器建立安全连接。-f
:让 SSH 在后台运行。这意味着 SSH 会在隧道建立后转为后台运行,而你可以在终端中继续其他操作。-N
:告诉 SSH 不要在远程服务器上执行任何命令。通常用于端口转发场景,只负责建立隧道,而不执行远程命令。-L 1419:gadi-cpu-bdw-00.gadi.nci.org.au:22
:这是 本地端口转发 的配置,具体解释如下:1419
:这是 本地机器 上的端口号。任何连接到本地机器的localhost:1419
的流量都会通过 SSH 隧道转发。gadi-cpu-bdw-00.gadi.nci.org.au:22
:这是 远程服务器(gadi-cpu-bdw-00.gadi.nci.org.au) 的地址和端口号。该服务器的 SSH 端口是22
,因此通过本地1419
端口的所有流量都会转发到gadi-cpu-bdw-00.gadi.nci.org.au
的22
端口。
xp@gadi.nci.org.au
:这是你连接 跳板机 的 SSH 用户名和地址。你会先通过 SSH 登录到gadi.nci.org.au
(跳板机),再通过隧道转发的方式连接到远程服务器gadi-cpu-bdw-00.gadi.nci.org.au
。
2. 编辑 SSH 配置文件 (可选)
为了简化使用跳板机的连接配置,建议在 SSH 配置文件中配置跳板机。编辑或创建 ~/.ssh/config
文件,并添加如下内容:
Host Gadi
HostName gadi-cpu-bdw-00.gadi.nci.org.au
User xp
ProxyJump xp@gadi.nci.org.au # 配置跳板机
ForwardX11 yes
ForwardX11Trusted yes
这样,你就可以通过 ssh Gadi
命令直接通过跳板机连接目标服务器。
3. 打开 PyCharm 设置
- 在 PyCharm 中,点击左上角的 File ,然后选择 Settings (对于 macOS 用户,选择 PyCharm > Preferences )。
- 在设置窗口中,选择 Project: <your_project_name> > Python Interpreter 。
4. 添加 SSH 解释器
- 点击 Python Interpreter 右侧的 齿轮图标 ,然后选择 Add Interpreter 。
- 在弹出的窗口中,选择 SSH Interpreter ,然后点击 Next 。
5. 配置跳板机连接
- Host :输入
localhost
,因为 SSH 隧道将本地端口1419
映射到了远程服务器。 - Port :使用
1419
,这是你为 SSH 隧道指定的本地端口。 - Username :输入
xp
,这是你在远程服务器上的用户名。 - Authentication :选择 Private Key 或 Password 进行身份验证。如果使用 SSH 密钥,确保 PyCharm 可以正确找到你的私钥文件。
PyCharm 将自动解析跳板机的配置,建立连接。
6. 选择远程 Python 解释器
PyCharm 会尝试连接到远程服务器,并扫描可用的 Python 解释器。通常会找到 /usr/bin/python3
,但如果你有特定的虚拟环境或其他 Python 安装路径,你可以手动指定。
- 如果 PyCharm 成功检测到解释器,请选择正确的 Python 解释器。
- 如果没有自动找到,你可以手动输入远程服务器上的 Python 解释器路径(例如
/home/xp7/anaconda3/bin/python
)。
7. 完成配置
确认连接和解释器路径无误后,点击 Finish ,PyCharm 会完成连接设置。