jupyter notebook远程访问实验室Linux服务器的配置
最近学习MaskRCNN分割网络,在服务器终端无法运行demo.ipynb,在网上找了许多经验贴仍然无法解决我的问题,在摸爬滚打中问实验室的伙伴们解决了本地浏览器使用jupyter网页的问题,特此记录。
提示:下文仅对于使用Xshell远程连接Linux服务器的情况可供参考。
1.服务器终端虚拟环境中安装jupyter
(1).在服务器中base环境下安装jupyter,注意在别的环境下安装过jupyter之后也需要在base环境下安装。
conda install jupyter
(2).生成配置文件
jupyter notebook --generate-config
如果不是第一次生成配置文件,终端提示重写配置文件一定要选No
Overwrite /root/.jupyter/jupyter_notebook_config.py with default config? [y/N]n
(3).修改密码,这个密码就是远程登录需要输入的密码,同时会在config.son文件中生成一串密码字符串
jupyter notebook password
Enter password: ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_notebook_config.json
操作过程中在终端看不到输入密码的****符号,是正常的
(4).在jupyter_notebook_config.py文件中添加以下的代码
c.NotebookApp.ip='*'
c.NotebookApp.allow_remote_access = True # 允许远程连接
c.NotebookApp.password = u'sha1:...' # config.son文件的那一串字符,必须以u开头
c.NotebookApp.open_browser = False # 不自动打开浏览器
c.NotebookApp.port =8190 # 自行指定一个端口
2.打开本地电脑的终端cmd
输入以下请求:
ssh -p 10030 -L 18190:127.0.1.2:8190 root@10.3.120.22
10030是你在Xshell中看到的端口号
8190是前面自定义的一个端口(建议自定义端口超过8000)
127.0.1.2为远程Linux服务器的ip地址
root@之后为你的电脑主机ip地址,在Xshell会话管理器中可看到
如果提示让你输入密码,输入你Xshell登录服务器的密码即可。成功发起ssh连接会显示welcome to………………巴拉巴拉
3. 在服务器终端接收ssh连接
jupyter notebook --no-browser --port=8190 --allow-root #port对应之前自定义的端口号
得到如下提示
[I 2023-09-12 10:55:00.129 LabApp] JupyterLab extension loaded from /root/anaconda3/lib/python3.9/site-packages/jupyterlab
[I 2023-09-12 10:55:00.129 LabApp] JupyterLab application directory is /root/anaconda3/share/jupyter/lab
[I 10:55:00.130 NotebookApp] Serving notebooks from local directory: /data/jupyter
[I 10:55:00.130 NotebookApp] Jupyter Notebook 6.4.12 is running at:
[I 10:55:00.130 NotebookApp] http://943b69cf6b0d:8190/
[I 10:55:00.130 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 10:55:51.260 NotebookApp] 302 GET / (127.0.1.2) 0.260000ms
[I 10:55:51.311 NotebookApp] 302 GET /tree? (127.0.1.2) 0.270000ms
[W 10:57:04.049 NotebookApp] 401 POST /login?next=%2Ftree%3F (127.0.1.2) 13.700000ms referer=http://localhost:18190/login?next=%2Ftree%3F
在浏览器输入http://943b69cf5bcd:8190/(我的只能输入http://localhost:8190打开) 即可打开网页,输入之前设置的密码即可,如果之前没有设置固定密码可以使用http://943b69cf6b0d:8190/之后的token密匙打开网页。
如果不能打开上面的网页,可以试试最下面一行的http://localhost:18190/login?next=%2Ftree%3F
同样可以打开。