Turn on Password Protection on Jupyter Server

Q

How to Turn on Password Protection on Jupyter Server?

✍: FYIcenter.com

A

By default the Jupyter Server has no password protection. Any user can access the server, if he/she knows the server IP address and port number.

You can follow this tutorial to turn on password protection on the Jupyter Server.

1. Run "jupyter notebook password" command to update the Configuration JSON File.

fyicenter$ jupyter notebook password 

Enter password: fyicenter
Verify password: fyicenter
[NotebookPasswordApp] Wrote hashed password to 
  ~/.jupyter/jupyter_notebook_config.json

fyicenter$ more ~/.jupyter/jupyter_notebook_config.json
  ...
  "NotebookApp": {
    ...
    "password": "argon2:$argon2id$v=19$m=10240,t=10,p=8$z/NM4YCJ...CacA"

2. Restart the Jupyter Server.

fyicenter$ jupyter notebook 

[W LabApp] 'ip' has moved from NotebookApp to ServerApp. 
  This config will be passed to ServerApp. 
  Be sure to update your config before our next release.
  ...
[I NotebookApp] Jupyter Notebook 6.3.0 is running at:
[I NotebookApp] http://192.168.1.10:8080/

3. Go to the Jupyter Web interface. You see the login screen.

4. Enter "fyicenter" as the password. You see the Juyter server home screen.

5. If you are using the Configuration Python File, you need to copy the password hash from the JSON file into the "c.NotebookApp.password" line.

fyicenter$ vi ~/.jupyter/jupyter_notebook_config.py 

#  The string should be of the form type:salt:hashed-password.
#  Default: ''
c.NotebookApp.password 
  = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$z/NM4YCJ...CacA'

6. If you know how to run Python script, you can also generate the password hash in a Python session.

fyicenter$ python 

>>> from notebook.auth import passwd; passwd()
Enter password: 
Verify password: 
'argon2:$argon2id$v=19$m=10240,t=10,p=8$z/NM4YCJ...CacA'

>>> exit()

 

Notebook Directory for Jupyter Server

Jupyter Notebook Configuration Python File

Installing and Running Jupyter

⇑⇑ Jupyter Tutorials

2022-02-04, 984🔥, 0💬