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

mhr*_*tsh 22 python ssh ssh-tunnel pycharm

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

配置"远程Python解释器"对话框

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

AHA*_*AHA 36

您可以在ssh上使用端口转发.如果本地系统为A,则下一个ssh跳为B,目标跳为C,打开终端并运行:

ssh -L 6000:<target_server_ip>:22 <proxy_server_user>@<proxy_server_ip>
Run Code Online (Sandbox Code Playgroud)

您可以用任何端口替换6000.现在,您可以在另一个终端上的C上使用ssh进入ssh服务器:

ssh -p 6000 <target_server_user>@localhost
Run Code Online (Sandbox Code Playgroud)

请记住不要关闭第一个终端!

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

  • 主持人:localhost
  • 港口:6000
  • user:user_serverC


Har*_*son 7

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

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

~/.ssh/config(来源

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
Run Code Online (Sandbox Code Playgroud)

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