PyCharm:通过 SSH 配置多跳远程解释器

作者:编程家 分类: python 时间:2025-08-10

使用SSH配置多跳远程解释器是在PyCharm中使用远程开发功能的一种方式。通过配置多跳SSH连接,我们可以在本地开发环境中访问位于多个中间服务器上的远程解释器。这种配置方法非常适用于需要通过多个跳板机来访问远程服务器的情况,例如在跨越不同安全域的网络中进行开发。

配置SSH跳板机

在PyCharm中配置多跳SSH连接需要先配置跳板机。跳板机是指通过该服务器来连接目标服务器的中间服务器。我们需要在跳板机上设置SSH配置文件,以便在连接目标服务器时使用。

例如,我们假设跳板机的IP地址是`192.168.0.1`,用户名是`jumpuser`,并且我们已经将自己的公钥文件添加到了跳板机的`authorized_keys`文件中。

我们可以通过在终端或命令提示符中执行以下命令来编辑跳板机上的SSH配置文件:

$ ssh jumpuser@192.168.0.1

$ nano ~/.ssh/config

在配置文件中,我们需要添加以下内容:

Host target

HostName

User

ProxyJump jumpuser@192.168.0.1

其中``是目标服务器的IP地址或主机名,``是目标服务器的用户名。这样,我们就配置了一个名为`target`的SSH主机,它会通过跳板机连接到目标服务器。

配置PyCharm中的远程解释器

接下来,我们需要在PyCharm中配置远程解释器,以便能够通过SSH连接到目标服务器。

1. 打开PyCharm,并在菜单栏中选择"Preferences"(Windows和Linux用户选择"Settings")。

2. 在"Preferences"窗口中,选择"Project: ",然后选择"Python Interpreter"。

3. 单击右上角的齿轮图标,并选择"Add"。

4. 在"Add Python Interpreter"窗口中,选择"SSH Interpreter"选项卡。

5. 在"SSH Credentials"部分,填写目标服务器的IP地址或主机名、用户名和密码。如果你已经配置了SSH密钥对,也可以选择"Key pair"选项。

6. 在"SSH Interpreter"部分,填写远程解释器的路径。例如,如果远程解释器的路径是`/usr/bin/python3`,则在"Python Interpreter path"字段中填写`/usr/bin/python3`。

7. 在"Deployment Configuration"部分,选择"Use SSH credentials or a configuration file"选项,并填写跳板机的IP地址、用户名和密码。如果你已经在跳板机上配置了SSH配置文件,请选择"SSH config file"选项,并填写配置文件的路径。

8. 单击"OK"保存配置。

现在,我们已经成功配置了多跳SSH连接和远程解释器。我们可以在PyCharm中使用这个远程解释器来运行和调试代码,就像在本地一样。

案例代码

下面是一个简单的案例代码,演示如何使用PyCharm中的多跳SSH连接配置和远程解释器:

python

import paramiko

# 创建SSH客户端对象

client = paramiko.SSHClient()

# 配置SSH连接

client.load_system_host_keys()

client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接跳板机

client.connect('192.168.0.1', username='jumpuser')

# 创建SSH会话对象

transport = client.get_transport()

session = transport.open_channel('session')

# 执行命令

session.exec_command('ssh target')

# 连接目标服务器

session.connect('target', username='target_user')

# 执行远程命令

stdin, stdout, stderr = session.exec_command('python3 /path/to/remote/script.py')

# 输出命令结果

print(stdout.read().decode())

# 关闭连接

session.close()

这段代码使用了Paramiko库来创建SSH连接和会话对象,并在跳板机上执行了一个SSH命令,连接到目标服务器并执行了一个远程命令。你可以根据自己的实际需求进行修改和扩展。

通过SSH配置多跳远程解释器是在PyCharm中进行远程开发的一种方式,特别适用于需要通过多个跳板机来连接远程服务器的情况。通过配置跳板机和远程解释器,我们可以在本地开发环境中方便地访问和调试远程代码。希望本文对你理解如何配置多跳SSH连接和远程解释器有所帮助。