当前位置: 首页 > 工具软件 > jupyter-guide > 使用案例 >

Jupyter-Notebook 远程服务器配置(SSH方案)

柳和怡
2023-12-01

网上配置远程notebook的方案很多,但是似乎好多都是直接访问remote server的端口
不过,有趣的是,我发现我直接ping不通我的remote server,只能采用ssh来传输的方案

Install Jupyter Notebook

conda install -c conda-forge notebook

Generate the PassWD

参考知乎上的回答即可https://www.zhihu.com/question/52814963

  1. 首先生成config文件(目录位置:‘/home/.jupyter/jupyter_notebook_config.py’)

    jupyter notebook --generate-config
    
  2. 生成passwd (调用python的库函数)

    from notebook.auth import passwd
    f = passwd() #这里会让你设置密码,建议全英文
    print(f) # 打印设置的密码
    
  3. 复制passwd到config文件中 (注意密码复制的时候不要忘记复制"sha1")

    在文本框中输入并确认一次密码后记录sha1秘钥值,如 'sha1:XXXXXXX’将这段值按如下格式粘贴到配置文件jupyter_notebook_config.py末尾c.NotebookApp.password = u’sha1:XXXXXXX’重启jupyter,重新打开网页即可
    作者:潇洒的板栗
    链接:https://www.zhihu.com/question/52814963/answer/140153400
    来源:知乎

开启远程服务器上的Jupyter Notebook

一些其他的参数可以上网查

jupyter notebook --no-browser --port=<PORT>

本地ssh连接

# <PORT> 为上一步所指定的端口号(默认为8888)
# REMOTE_USER为远程服务器上的用户名
# REMOTE_HOST为远程服务器的IP地址
ssh -N -f -L 8080:localhost:<PORT> <REMOTE_USER>@<REMOTE_HOST>

几个参数的含义英文解释在这,我就不翻译了:

-N: suppresses the execution of a remote command. Pretty much used in port forwarding.
-f: this requests the ssh command to go to background before execution.
-L: this argument requires an input in the form of local_socket:remote_socket

本地浏览器访问

打开浏览器输入这个地址即可:http://localhost:8080/
密码即为前面已经设定好的密码

参考文献

 类似资料: