目录
服务器远程连接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]