欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-27 23:43:47
...

网上配置远程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/
密码即为前面已经设定好的密码

参考文献

相关标签: python linux ssh