在此感谢bang哥(Skr.B),这篇文章就是白嫖他的,他一直安利VScode,但是我个人认为还是PyCharm连接ssh更香啊(配置比较简单,我就不写啦)哈哈哈~
这篇文章他写了前面的部分,我补充了文件权限出错的解决办法,因为我们在按他的教程配置过程出现了多次这个错误!

贼好用:

Remote VSCode_文件权限


连上后:

Remote VSCode_python_02


目录

  • 使用 VS Code + Remote-SSH 插件在本地跑超算
  • 一、基本步骤
  • 安装 Remote-SSH 插件
  • 指定 `~/.ssh/config` 文件路径
  • 配置 `~/.ssh/config` 文件
  • 在本地浏览器运行超算上打开的 Jupyter Notebook
  • 二、一些 Error
  • 1、Permission denied
  • (1)私钥的问题
  • (2)文件权限问题
  • 2、Connect timeout


使用 VS Code + Remote-SSH 插件在本地跑超算

一、基本步骤

安装 Remote-SSH 插件

Remote VSCode_超算_03

指定 ~/.ssh/config 文件路径

Remote VSCode_ssh_04

配置 ~/.ssh/config 文件

# supercompute ssh
Host name-of-ssh-host-here  # SSH连接的远程主机名(一般与用户名同名)
    User your-user-name-on-host  # 你在SSH远程主机上的用户名
    HostName 8.8.8.8  # 远程超算的IP地址
    Port 8888  # 指定端口,否则默认端口为22
    IdentityFile ~/.ssh/id_rsa-remote-ssh  # 指定本地的私钥文件的绝对路径

补充:私钥的绝对路径最好是默认的C盘下的.ssh文件夹!否则会报错,连接不上。


接下来的操作水到渠成 🌈

Remote VSCode_超算_05

在本地浏览器运行超算上打开的 Jupyter Notebook

  • 安装 Jupyter Notebook
    可以只在 base 环境中安装,因为可以在打开 notebook 之后再切换 kernel,不必要在每个虚拟环境中都安装,但只能在 base 环境下启动
  • Conda
conda install jupyter notebook
  • pip
pip install jupyter
  • 添加 kernel
    在需要添加到 kernel 的虚拟环境中安装 ipykernel
  • conda / pip
( conda / pip ) install ipykernel
  • 添加
python -m ipykernel install --user --name env_name --display-name "可以起个昵称"
  • 删除 kernel
jupyter kernelspec remove env_name
  • 查看所有kernel
jupyter kernelspec list
  • 在终端启动 Jupyter Notebook 服务
jupyter notebook --no-browser  # 以免在远程终端启动那个黑框浏览器

可以复制链接在浏览器中打开

Remote VSCode_ssh_06

  • 修改 Jupyter 密码
$ jupyter notebook password
Enter password:  ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

Jupyter设置无密码登录:

二、一些 Error

1、Permission denied

(1)私钥的问题

-如果私钥生成公钥是在 PuTTY 上完成的话,需要用 PuTTYGen 转换本地的私钥才能使用:

Remote VSCode_超算_07


还有一种方法是到超算上的用户目录下把私钥下载下来直接用

(2)文件权限问题

设置放id_rsa秘钥的文件权限(估计是私钥只能有一个管理者):
1、安全-高级-禁用继承-删除所有权限管理者
2、组或用户名-编辑-添加-高级-立即查找,选择一个管理者(只有一个),然后确定。

最后,就只有一个管理员了!

Remote VSCode_python_08

2、Connect timeout

大概率是端口设置错误,检查 config 文件的配置;也可能没连校园网或VPN。


参考:

  • 《Remote Development using SSH》
  • 《如何在jupyter中添加conda虚拟环境》
  • 《Jupyter Notebook介绍、安装及使用教程》