jupyter notebook password or token
时间: 2025-05-16 11:40:38 浏览: 30
### 设置 Jupyter Notebook 的密码或令牌
为了增强安全性并允许多人协作访问本地托管的 Jupyter Notebook 实例,可以配置密码或使用令牌认证机制。以下是关于如何设置密码或启用令牌的具体方法:
#### 方法一:设置固定密码
可以通过修改 Jupyter 配置文件来设置固定的登录密码。具体操作如下:
1. **生成哈希加密的密码**
使用 Python 脚本生成一个安全的哈希值用于存储密码:
```python
from IPython.lib import passwd
hashed_password = passwd()
print(hashed_password)
```
2. **创建或编辑 Jupyter 配置文件**
如果尚未存在 `jupyter_notebook_config.py` 文件,则需先生成它:
```bash
jupyter notebook --generate-config
```
3. **更新配置文件**
将生成的哈希密码写入到配置文件中的指定字段。找到路径通常为 `~/.jupyter/jupyter_notebook_config.py` 并添加以下内容:
```python
c.NotebookApp.password = 'sha1:<your-hashed-password>'
```
4. **启动服务**
启动 Jupyter Notebook 时会提示输入已设定的密码。
此过程确保只有知道密码的人才能访问服务器实例[^1]。
#### 方法二:启用一次性令牌 (Token-based Authentication)
默认情况下,每次运行命令 `jupyter notebook` 或其他变体(如 `jupyter lab`),都会自动生成一个新的随机令牌作为临时身份验证手段。该令牌会在控制台输出中显示,类似于下面的形式:
```
http://localhost:8888/?token=<generated_token>
```
如果希望禁用自动弹出浏览器窗口而仅依赖于手动复制粘贴 URL 和 Token 进行连接,在配置文件里加入这一项即可关闭浏览器行为:
```python
c.NotebookApp.open_browser = False
```
另外还可以调整端口号避免冲突或者绑定特定IP地址以便远程接入等高级选项也都可以在此阶段完成定义。
```python
from IPython.lib import passwd
hashed_password = passwd() # 用户交互式输入明文密码得到其SHA-1形式的结果字符串
print(hashed_password)
# 编辑 ~/.jupyter/jupyter_notebook_config.py 添加如下代码片段实现持久化保护措施
c.NotebookApp.password = '<上述打印出来的hash值>'
# 可选参数进一步定制体验
c.NotebookApp.ip = '*' # 允许所有网络接口上的请求到达,默认只监听loopback interface即'127.0.0.1'
c.NotebookApp.port = 9999 # 自定义使用的TCP port number而非标准8888号端口
```
阅读全文
相关推荐

















