jupyter 访问远程服务器

在Ubuntu20.04服务器上安装并配置JupyterNotebook,设置允许远程访问的IP和端口,通过修改配置文件设定密码,并使用SSH隧道建立本地到远程服务器的连接,以8887端口访问8888端口上的Jupyter服务,需提供特定的token进行身份验证。

服务器

服务器环境

Ubuntu 20.04

软件安装和配置

安装 jupyter, jupyter-notebook

pip install jupyter jupyter-book

修改 jupyter_notebook_config.py

vi ~/.jupyter/jupyter_notebook_config.py

在文件最后,添加上下面语句

# 允许通过任意绑定服务器的ip访问
c.NotebookApp.ip = '*'
 # 用于访问的端口
c.NotebookApp.port = 8888  #注意这里与前面开出的容器端口要一致
 # 不自动打开浏览器
c.NotebookApp.open_browser = False
 #允许远程访问
c.NotebookApp.allow_remote_access = True 
 # 登录密码获得的乱序秘钥复制到‘’内
c.NotebookApp.password = u'' 

启动 jupyter

jupyter notebook -ip 0.0.0.0 --allow-root --port 8888 --no-browser

这样,远程服务器安装和配置就已经完成。

    To access the notebook, open this file in a browser:
        file:///home/xxxx/.local/share/jupyter/runtime/nbserver-3325393-open.html
    Or copy and paste one of these URLs:
        http://AAAAAA:8888/?token=89aaf793f990d127dd958c9a6f8a42a10185331d694cae75
     or http://127.0.0.1:8888/?token=89aaf793f990d127dd958c9a6f8a42a10185331d694cae75

注意上面的 token,这个就是访问远程服务器的密码。

本机

命令行运行

ssh -L 8887:localhost:8888 服务器用户名@服务器ip地址

注意:

  • 8888:是远程服务器 jupyter 的端口,为缺省端口。
  • 8887:是本机访问远程服务器 jupyter 的端口。
  • 服务器用户名:可以登录到远程服务器的 id。
  • 服务器 ip 地址:远程服务器的 IP。
    成功登录远程服务器后。

浏览器访问 jupyter

打开浏览器,地址栏中输入

localhost:8887

出现的界面中,需要我们输入登录的 token。
回去查看服务器的 Log 中显示的 token,如上面的记录。拷贝输入对应的 token,点 log in 即可。
或者,在地址栏中直接输入 token

localhost:8887/?token=89aaf793f990d127dd958c9a6f8a42a10185331d694cae75

这样,我们就可以直接访问远程服务器的 jupyter notebook。

### 配置 Jupyter Notebook 或 Lab 连接远程服务器的指南 为了实现 Jupyter Notebook 或 Jupyter Lab 与远程服务器的连接,需要完成以下配置步骤: #### 1. 安装 Jupyter Notebook 或 Jupyter Lab 在远程服务器上安装 Jupyter Notebook 或 Jupyter Lab。可以使用 Anaconda 或 Miniconda 来安装,确保环境配置正确[^2]。 ```bash # 使用 conda 安装 Jupyter Notebook conda install jupyter notebook # 使用 conda 安装 Jupyter Lab conda install jupyterlab ``` #### 2. 配置 Jupyter 文件 生成并编辑 Jupyter 的配置文件以支持密码保护和远程访问[^1]。 ```bash jupyter notebook --generate-config ``` 此命令会在 `~/.jupyter/` 目录下生成一个名为 `jupyter_notebook_config.py` 的配置文件。编辑该文件以启用远程访问和密码保护。 ```python # 配置文件示例 c = get_config() # 允许远程访问 c.NotebookApp.ip = '*' c.NotebookApp.port = 8888 c.NotebookApp.open_browser = False # 设置密码(需先生成密码哈希值) c.NotebookApp.password = 'sha1:your_hashed_password_here' ``` 生成密码哈希值的方法如下: ```python from notebook.auth import passwd passwd() ``` 运行上述代码后会生成一个哈希值,将其复制到 `c.NotebookApp.password` 中。 #### 3. 启动 Jupyter Notebook 或 Jupyter Lab 在服务器终端启动 Jupyter Notebook 或 Jupyter Lab,并指定端口[^5]。 ```bash jupyter notebook --no-browser --port=8889 ``` 或者启动 Jupyter Lab: ```bash jupyter lab --no-browser --port=8889 ``` 启动后,终端会显示类似以下信息: ``` [I 16:54:05.861 LabApp] Jupyter Notebook 6.1.0 is running at: [I 16:54:05.861 LabApp] http://localhost:8889/ ``` #### 4. 配置本地 SSH 隧道 在本地终端中配置 SSH 隧道以将远程服务器的端口映射到本地端口[^4]。 ```bash ssh -N -f -L localhost:8888:localhost:8889 username@server_ip_address ``` - `-N` 表示不执行远程命令。 - `-f` 表示将 SSH 放入后台运行。 - `-L` 表示将本地端口映射到远程端口。 - `username` 是服务器用户名。 - `server_ip_address` 是服务器的 IP 地址。 #### 5. 打开本地浏览器 在本地浏览器中输入以下地址访问 Jupyter Notebook 或 Jupyter Lab[^5]: ``` http://localhost:8888/ ``` 输入之前设置的密码即可登录。 --- ### 注意事项 - 确保服务器防火墙允许指定端口的流量。 - 如果服务器没有公网 IP,可能需要通过 NAT 或其他方式暴露端口。 - 推荐使用 HTTPS 提高安全性,可以通过配置 SSL 证书实现[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的老周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值