vscode使用远程服务器jupyter

vscode链接服务器

1、先确认自己的电脑装好了ssh

在这里插入图片描述

2、生成密钥文件, 并上传至服务器

        命令ssh-keygen -t rsa -b 4096来生成密钥文件,生成时路径默认即可,密码的话需要自己记住,也可以留空。完成后,C盘/用户/.ssh文件夹下应该就有id_rsa 和id_rsa.pub两个文件了,分别是私钥和公钥。

//生成密钥文件
ssh-keygen -t rsa -b 4096

        然后需要将本地的密钥文件上传到服务器上(同样在cmd命令行中输入)

SET REMOTEHOST=your-user-name-on-host@host-fqdn-or-ip-goes-here
// 上面这一行需要根据自己服务器的用户名和ip地址自行修改,即:userName@123.456.789.10

// 下面这两行直接照抄即可
scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub
ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
// 上面第一行的含义是把公钥上传到服务器上
// 上面第二行的含义是将公钥复制到authorized_keys文件中去,同时赋予了~/.shh 700的权限,以及authorized_keys 600的权限

        如果对于私钥没有啥要求的话,强烈建议不要设置私钥密码,不然每次连接都要输入私钥密码。

在这里插入图片描述
如果以前连接过,但是出现了类似如下的错误,
在这里插入图片描述
一般是远程主机的密钥发生了改变,或者遭到了攻击。在cmd中移除旧的密钥即可(如果远程主机被攻击了就别连接了)

# xxxx.xxxx.xxxx.xxxx为远程主机的ip
ssh-keygen -f "C:\\Users\\氏族归来\\.ssh\\known_hosts" -R "xxxx.xxxx.xxxx.xxxx"

3、下载vscode Remote Development插件

在这里插入图片描述

4、配置vscode上的remote-develop插件

        先创建连接:

在这里插入图片描述
        再配置位置:
在这里插入图片描述

        在最后面添加上,注意这个路径是你本地的路径。这样下次登录就不需要输入密码了,它会自动认证成功。

IdentityFile "id_rsa文件路径" 

在这里插入图片描述
其中:
HostName: 远程服务器的ip地址
User:你登陆服务器的用户名字(应该是这个意思)
IdentityFile: 之前本地生成的shh密钥文件地址

5、jupyter 插件(这个插件要在配置好后再安装到服务器端,先完成后面的步骤)

在这里插入图片描述

6、启动jupynoote book

        最后一步就是在服务器项目位置/目录下,启动你的jupyter
在这里插入图片描述
        然后输入这个jupynote 关联的(服务器端的:端口8888的那个~)网页地址即可:
在这里插入图片描述

<think>好的,我现在需要帮助用户解决如何通过VSCode使用SSH连接到远程服务器并运行Jupyter Notebook或Lab的问题。首先,我要回忆一下相关的步骤,可能包括安装必要的扩展、配置SSH连接、设置远程服务器上的Jupyter环境,以及处理可能遇到的常见问题,比如内核找不到或者端口转发的问题。 首先,用户可能需要安装VSCode的Remote-SSH扩展,这是连接远程服务器的关键。然后配置SSH连接,可能需要编辑.ssh/config文件或者通过VSCode的界面添加新的SSH主机。接下来,连接到远程服务器后,确保服务器上已经安装了Jupyter Notebook或Lab。如果用户没有安装,可能需要指导他们使用pip或conda进行安装。 然后,启动Jupyter服务时,用户需要知道如何在后台运行,并正确设置端口和IP,以便通过SSH隧道访问。这里可能需要使用nohup或者让Jupyter在后台运行,同时关闭浏览器自动启动选项。接着,设置本地端口转发,将远程端口映射到本地,这样用户就可以在本地浏览器中访问远程Jupyter实例。 另外,用户可能会遇到内核找不到的问题,这可能是因为VSCode使用的Python环境与Jupyter的环境不一致。这时候需要检查Jupyter的内核配置,确保路径正确,或者重新安装ipykernel。此外,防火墙设置也可能导致连接问题,这时候通过SSH隧道转发端口可以绕过防火墙限制。 我还需要参考用户提供的引用内容,特别是引用[2]和[3],里面提到了解决内核问题和SSH隧道的方法。例如,引用[3]提到使用ssh -L命令建立本地端口转发,这对于无法直接访问远程端口的情况非常有用。引用[2]则强调了确认Jupyter环境的重要性,可能需要检查服务器上的环境变量和路径是否正确。 在整理步骤时,需要分点说明,确保逻辑清晰,用户能够一步步跟随操作。同时,要提醒用户常见的错误和解决办法,比如权限问题、端口被占用、环境配置错误等。可能还需要建议用户使用虚拟环境来管理依赖,避免与其他项目冲突。 最后,生成相关问题的时候,需要考虑用户可能的后续疑问,比如配置优化、多用户环境下的问题、替代工具等。这些问题可以帮助用户进一步深入学习和解决问题。</think>### 通过 VSCode SSH 连接远程服务器运行 Jupyter Notebook/Lab 的步骤 #### 1. **安装必要工具** - **VSCode 扩展**:安装 `Remote-SSH` 扩展(用于远程连接)和 `Jupyter` 扩展(支持交互式编程)。 - **SSH 密钥配置**:确保本地与远程服务器的 SSH 密钥认证已设置,避免频繁输入密码[^3]。 #### 2. **连接远程服务器** - 在 VSCode 中按 `F1`,输入 `Remote-SSH: Connect to Host`,选择或添加服务器地址(格式:`username@remote_ip`)。 - 首次连接需输入密码,成功后会打开新的远程窗口。 #### 3. **配置 Jupyter 环境** - **安装 Jupyter**:在远程服务器终端执行以下命令: ```bash pip install jupyterlab # 或 jupyter notebook ``` - **验证环境**:运行 `jupyter --version`,确认安装成功[^2]。 #### 4. **启动 Jupyter 服务** - 在远程终端执行(避免绑定本地 IP 并指定端口): ```bash jupyter lab --no-browser --port=8888 --ip=0.0.0.0 ``` - 使用 `nohup` 保持后台运行: ```bash nohup jupyter lab --no-browser --port=8888 > jupyter.log 2>&1 & ``` #### 5. **本地端口转发** - 通过 SSH 隧道将远程端口映射到本地(例如远程端口 `8888` → 本地端口 `1234`): ```bash ssh username@remote_ip -L 127.0.0.1:1234:127.0.0.1:8888 ``` - 在本地浏览器访问 `http://localhost:1234`,输入 Jupyter 输出的 Token 即可。 #### 6. **VSCode 直接使用 Jupyter** - 在远程窗口新建 `.ipynb` 文件,VSCode 会自动识别 Jupyter 内核。 - 若提示找不到内核,手动指定 Python 解释器路径: - 按 `Ctrl+Shift+P`,输入 `Jupyter: Select Interpreter` 选择虚拟环境路径(如 `~/venv/bin/python`)。 --- ### 常见问题解决 - **内核无法连接**: 重新安装 `ipykernel`:`pip install --upgrade ipykernel`,并重启 Jupyter 服务。 - **端口冲突**: 更换 Jupyter 启动端口(如 `--port=9000`),同步修改 SSH 隧道命令中的端口映射。 - **防火墙限制**: 通过 `-L` 参数建立 SSH 隧道绕过防火墙。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值