admin管理员组

文章数量:1637858

最近实验室订的3090还没到,所以在楼下借了一个服务器使用上,因为服务器上的系统是centOS的,无图型界面太了,还是想用Jupyter notebook的开发界面。期间参考博文,还是有问题,所以琢磨出了这篇博文。

环境介绍:

服务器:centos系统+K80
实验室:win10主机
网络环境:同一个校园网内(ssh可以连上)

配置服务器上的Jupyter Notebook

安装jupyter notebook
#先激活自己的conda环境
conda activate tf2py36
#然后安装jupyter notebok
conda install jupyter notebook
安装完成后生成一下配置文件
jupyter notebook --generate-config

该命令将会在用户主目录下生成.jupyter文件夹,其中jupyter_notebook_config.py就是刚刚生成的配置文件。

输入ipython设置密码
In [1]: from notebook.auth import passwd

In [2]: passwd()

Enter password: 
Verify password: 
Out[2]: 'sha1:1b4ea9662b35:3e3d6a823d264d466f125a0939623c05e7b66007'

注意: 这里输出的密码可能是‘argon2: a r g o n 2 i d argon2id argon2idv=19 m = 10240 , t = 10 , p = 8 m=10240,t=10,p=8 m=10240,t=10,p=8puuygml56S55SN。。。。。。。。’
这样的,应该是用了新的加密算法。将输出的这一段密钥复制一下,接下来需要使用。

修改配置文件

修改用户主目录下~/.jupyter/jupyter_notebook_config.py文件
(进该文件发现都是注释,直接在文件末尾添加就可以,不用在文件里解开注释了,费眼睛)

c.NotebookApp.allow_remote_access = True
c.NotebookApp.ip = '*'    # 所有绑定服务器的IP都能访问,若想只在特定ip访问,输入ip地址即可
 #看到有些人设置的是c.NotebookApp.ip = '0.0.0.0',实测,两种方式均可
c.NotebookApp.open_browser = False    # 我们并不想在服务器上直接打开Jupyter Notebook,所以设置成False
c.NotebookApp.password = '替换为生成的密钥'    # 复制上边密码
c.NotebookApp.port = 8888#按照自己喜好配置,一般为8888
服务器上的修改就完毕了
开启jupyter notebook
jupyter notebook

会出现如下提示不建议以root身份运行.使用--allow-root绕过过.
修改后的启动命令如下:

jupyter notebook --allow-root

此时服务器会弹出提示,jupyter启动成功!

本地电脑上登陆

在本地电脑上访问
浏览器输入:服务器地址:8888
可惜我这报错,直接连接超时,网上找了很久没有解决方案,问淘宝说要200配置依次,嗯,人都是逼出来的,还是努力找到了解决方法

建立ssh通道

因为服务器防火墙,所以不能直接用浏览器访问,所以这里用建立ssh通道

在本地电脑开启终端,在终端中建立ssh
ssh 服务器用户名@服务器地址 -L127.0.0.1:1234:127.0.0.1:8888

这之后在本地浏览器输入localhost:1234就能访问服务器上的jupyter notebook了!

总结:前期服务器配置网上有很多介绍,但是20年后更新了加密算法为argon2开头,并不是sha1:开头了,不用怕,直接复制就行,按照要求添加到配置文件的相应位置去就可以。还有最后学校服务器有防火墙,需要建立ssh连接才能正常访问,这个问题也卡了我一天,大家注意一下👌

本文标签: 机房通道服务器JupyterNotebookSSH