通过 ssh 隧道将 spyder 连接到远程内核

Chr*_*mas 7 remote-server ssh-tunnel spyder

我正在尝试将在 local_machine (macOS) 上运行的 spyder 连接到在计算服务器(集群的计算节点)上运行的远程内核。计算节点不能通过互联网直接访问,我只能通过 login_server 访问集群。

我尝试以下操作:

  1. 在计算服务器上我这样做:

    python -m spyder_kernels.console

要将另一个客户端连接到此内核,请使用:--existing kernel-20351.json

我将此 json 文件复制到 local_machine 上的适当位置。它包含文本:“shell_port”:46540,“iopub_port”:39268,“stdin_port”:40704,“control_port”:42637,“hb_port”:46887,

  1. 我通过 login_server 创建了一个 ssh 隧道。在 local_machine 我做:

ssh -L46540:compute_server:46540 -L39268:compute_server:39268 -L40704:compute_server:40704 -L42637:compute_server:42637 -L46887:compute_server:46887 me@login

  1. 我在 local_machine 上启动 spyder,要求它连接到现有内核,输入 json 文件的名称,选中“这是远程内核”框,输入 me@login_server 作为主机名。我已经设置了登录 login_server 的 ssh 密钥。

连接挂起。如果我在 login_server 上启动 spyder 内核并省略第 2 步,那么它工作正常,但我不能在 login_server 上进行大量计算,我必须在计算服务器上工作。

有任何想法吗?

Lu *_*Kas 1

我相信如果你将 Spyder 连接到你的localhost. 因此,在“这是远程内核”框中,输入localhost主机名。并输入相关端口(!)。

(并添加您的用户名和密码compute_server。)