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

PyCharm: Configuring multi-hop remote Interpreters via SSH

要连接到我办公室的计算机,我需要 运行 ssh 两次。首先连接到 host-1,然后从 host-1 连接到 host-2,每个都有不同的凭据。但是 Pycharm 中的配置菜单只接受一个 ssh 隧道。

Configure Remote Python Interpreter dialog box

有没有办法设置多跳 ssh 以从本地访问主机上的解释器和数据文件?

您可以在ssh 上使用端口转发。

1。打开终端并 运行:

在您的本地系统上:

ssh -L 6000:<target_server_ip>:22 <proxy_server_user>@<proxy_server_ip>

您现在应该连接到 代理。您可以用任何端口替换 6000。

2。 (可选)测试

现在您可以在另一个终端上通过 ssh 连接到 target 服务器:

ssh -p 6000 <target_server_user>@localhost

3。配置 PyCharm

切记不要关闭第一个终端!

PyCharm也是如此。只需使用以下配置通过 ssh 设置远程解释器连接:

  • 主机:本地主机
  • 端口:6000
  • 用户:target_server_user

PyCharm 似乎也解析了本地。ssh/config。

如果您已经在那里配置了 ssh 跳跃,您只需在 pycharm ssh-config 中指定目标服务器即可。

~/.ssh/config (source)

Host bastion
   Hostname bastion.domain.com
   Port 2222 # a non-standard port is a good idea
   User ironicbadger

Host servera
   Hostname servera.lan.local
   User servera-user
   ProxyCommand ssh bastion -W %h:%p

在 pycharm 中: 主机 servera,用户名 server-user

对于 ssh 版本 7.3 或更高版本的用户,可以使用 ProxyJump 参数简化此操作。

Host bastion
   Hostname bastion.domain.com
   User bastion-user

Host servera
   Hostname servera.lan.local
   User servera-user
   ProxyJump bastion