服务器远程连接jupyter notebook

发布于:2024-05-06 ⋅ 阅读:(50) ⋅ 点赞:(0)

服务器远程连接jupyter notebook

1、在服务器端安装notebook

conda install jupyter notebook  

2、在服务器端的设置

Step 1:

连接好服务器后,在终端运行以下命令来生成配置文件:

jupyter notebook --generate-config

Step 2:

  • 接下来键盘输入python
  • 输入from notebook.auth import passwd
  • 输入passwd()
  • Enter password: 输入你要设定的密码
  • Verify password: 验证密码
    这里只需你输入密码确认,然后他会自动帮你把生成含有密码的hash码输入到jupyter_notebook_config.json文件。

注意新版本notebook没有notebook.auth

新版本直接输入以下命令即可设置密码

jupyter notebook password

生成的hash密码可以在.jupyter文件夹中的jupyter_server_config.json文件中查看

在这里插入图片描述

Step 3:

修改相应的配置文件
输入以下的命令 vim ~/.jupyter/jupyter_notebook_config.py
在文件末尾添加以下代码

c.NotebookApp.ip = '*'                     # 允许访问此服务器的 IP,星号表示任意 IP
c.NotebookApp.password = 'argon2:********' # 之前生成的密码 hash 字串, 粘贴进去
c.NotebookApp.open_browser = False         # 运行时不打开本机浏览器
c.NotebookApp.port = 8890                  # 使用的端口,随意设置,但是要记得你设定的这个端口
c.NotebookApp.enable_mathjax = True        # 启用 MathJax
c.NotebookApp.allow_remote_access = True   #允许远程访问
c.NotebookApp.allow_root = True           

注意:这里 c.NotebookApp.password 是你刚才设定密码的hash码,修改成自己的hash码。 c.NotebookApp.port是ssh转发的端口号,随意设定一个未使用的端口即可,要记住设定的这个转发的端口号。
其他的都不需要修改。

# Vim 命令帮助
# 跳转到文件末尾的方法:按esc键,然后输入:$ 即可跳转到文件末尾
# SHIFT + i  or a 进行插入
# ESC 退出,然后输入 :wq 进行保存
# :q 是只退出不保存

3. 在服务器端运行jupyter

jupyter notebook

4、在windows 上连接远程服务器

如果上面的流程都走完之后,且也在服务器端运行jupyter notebook之后,需要在本地上通过SSH连接远程服务器并连接到jupyter。

cmd打开命令窗口,敲入此句命令,将本地端口与服务器端相映射。

ssh -L [本地端口]:localhost:[远程端口] [远程用户名]@[远程IP] -p [ssh连接端口]

注意:这里的远程端口是上面配置的端口号(例如我配置的是8890,这里就需要写8890),本地端口随便写一个就可以,我这里写的是8888。

ssh连接端口就是利用shell工具连服务的网络端口,我用的22

输入上面的命令之后,会提示输入远程连接的密码,输入密码不报错即连接成功。

在CMD中切换到服务器中安装了jupyter的环境,启动jupyter notebook

在浏览器中输入 localhost:8888 它会自动映射到服务器的jupyter服务,出现jupyter窗口,输入你设定的jupyter密码,即成功进入。

参考资料

[1] Jupyter notebook远程连接服务器
[2] jupyter notebook 设置密码报错ModuleNotFoundError: No module named ‘notebook.auth‘
[3]