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
要连接到我办公室的计算机,我需要 运行 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