如何远程访问服务器jupyter或协作

服务器上手需要一些基础,但jupyter等类似平台的==远程服务==可以使我们在本机(windows等)访问远程的笔记本及数据,进行本地化的操作和处理,从而简化地很方便!包括数据处理、机器学习等后续应该会用到,此外也可用于==协作==写代码。

示例:10.168.210.201为统一局域网下的另一台电脑,如果公网访问--也类似

步骤参考

环境的配置可以参考一下之前的笔记 Python环境配置,以下假设服务器具有终端及图形界面,但是对于没有图形界面的服务器要保持代码后台运行且不占用终端则需要结合&以及nohup等命令,以及SSH,暂不展开

大致流程,以本机ubuntu20为例

  1. 配置conda及安装jupyter notebook/jupyter lab(以下以notebook为例,lab可以共用)
  2. 创建jupyter的登录密码jupyter-notebook password,比如我可以设123456,设置后会生成哈希密码,写入
  3. 生成jupyter的默认配置文件jupyter-notebook --generate-config,如果已有则可以忽略,该文件用来修改一些jupyter的默认设置
    1
    2
    3
    4
    5
    6
    # ome/huangsh/.jupyter/jupyter_notebook_config.py
    c.NotebookApp.allow_root = True
    c.NotebookApp.ip='*'# 或者'0.0.0.0',
    c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$7AWi3...'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口228行
  4. 使用文本编辑器打开该文件 jupyter_notebook_config.py
  5. 添加几行信息(默认是被注释的,因此也可以找到这几行去掉注释再修改),如上
    1. 设置允许以管理员root方式运行jupyterlab
    2. 设置允许任意ip段访问(如果是局域网则只能在局域网下访问)
    3. 设置运行时不打开浏览器,因为服务器通常没有界面只有终端
    4. 设置之前生成的哈希密码
    5. 设置访问端口,一般设置默认的8888
  6. 输入命令启动jupyter lab/notebook
  7. 在另一台电脑浏览器中打开链接http:/10.168.210.201:8888/,输入密码即可访问,ip地址可以在网络的设置中找到ip的地址,或者输入命令查看sudo hostname -I。window下查看相关的网络即可

想关文件查看,window则一般默认在C:\Users\huangs\.jupyter,用户路径

1
2
3
4
5
6
# /home/huangsh/.jupyter/jupyter_server_config.json
{
"ServerApp": {
"password": "argon2:$argon2id$v=19$m=10240,t=10,p=8$7AWi3..."
}
}

命令实例,终止服务则ctrl +c

1
2
3
4
5
6
7
$ conda activate base
$ conda activate geop
$ jupyter-notebook password
$ jupyter-notebook --generate-config
......
$ jupyter notebook
# $ jupyter notebook --allow-root

查看本机的ip

1
2
3
$ sudo hostname -I
10.168.210.201 2400:...
# 此处的ip则为 10.168.210.201

参考

  • https://blog.csdn.net/abc13526222160/article/details/108628640
  • 无网络环境下linux 服务器ssh配置jupyter(自行检索相关参考测试即可),未细看:
    • https://www.digitalocean.com/community/tutorials/how-to-install-run-connect-to-jupyter-notebook-on-remote-server
    • https://cloud.tencent.com/developer/article/1649899