Ubuntu 16.04 LTS 配置 Jupyter notebook 为服务器

Linux环境:Ubuntu 16.04 LTS 64bit

一、使用OpenSSL产生 *.key 和 *.pem 密钥

cd ~/.jupyter 切换到.jupyter目录

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem

成功的话,会在.jupyter目录下面产生 mykey.key 和 mycert.pem 两个文件

注意:这个OpenSSL是可选的,即使不适用OpenSSL也可以配置 jupyter使得局域网里面可以访问的。

二、设置密钥的sha1码

可以在IPython里面输入一下命令并按照提示输入密码,即可产生你需要密码对应的sha1值。

In [1]: from notebook.auth import passwd
 
In [2]: passwd()
c:\python27\lib\getpass.py:92: GetPassWarning: Can not control echo on the termi
nal.
  return fallback_getpass(prompt, stream)
Warning: Password input may be echoed.
Enter password: 12345678
Warning: Password input may be echoed.
Verify password: 12345678
Out[2]: 'sha1:c88810a822cf:2a10d54101bf6b326351c15f0c7b9fede372ef23'  

三、产生并配置 jupyter_notebook_config.py 文件

使用 ls 命令查看.jupyter 目录下面有没有 jupyter_notebook_config.py 文件

如果没有,则使用 jupyter notebook --generate-config 命令产生一个

默认jupyter_notebook_config.py的配置都使用#注释掉,下面需要开启所需要的命令。

这里password 一项要使用前面产生的sha1值## The full path to an SSL/TLS certificate file.c.NotebookApp.certfile = u'/home/peter/.jupyter/mycert.pem

## The IP address the notebook server will listen on.
c.NotebookApp.ip = '192.168.242.139'
  
#  The string should be of the form type:salt:hashed-password.
c.NotebookApp.password = u'sha1:96d749b4e109:17c2968d3bc899fcd41b87eb0853a42ceb48c521'
  
## The port the notebook server will listen on.
c.NotebookApp.port = 8888
 
c.NotebookApp.open_browser = False  

配置Jupyter notebook的默认目录

c.NotebookApp.notebook_dir = u'/home/peter/Git/MatlabMisc/Jupyter'  

四、启动Jupyter notebook

在~/.jupyter目录下,输入下面命令即可
sudo jupyter notebook --certfile=mycert.pem --keyfile mykey.key

然后在其他机器上,输入 https://192.168.242.139:8888 (这里的ip是根据你自己的环境和在jupyter_notebook_config.py 文件配置的ip)

再输入密码即可。

相关推荐