系统相关
首页 > 系统相关> > 想在 Ubuntu 上放飞梦想的小黑菜(2)

想在 Ubuntu 上放飞梦想的小黑菜(2)

作者:互联网

1. Jupyter Notebook 远程连接

先说一些 P 话:通常情况下,我们需要通过 windows 笔记本(mac 笔记本大佬请不屑路过)连接远程服务器调试实验。Notebook 是 debug 和 demo 的最好工具之一,特别是在可视化的时候。使用 ssh 连接的服务器,当系统是无界面版本时,就服务法使用 firefox 了,因此,远程连接 notebook 总会显得令人愉悦。
网上有不少教程,但是都说得不够清楚,故作此文。

1.1 远程服务器(ubuntu)上的准备

  1. 进入工作的 python 环境:source activate env_name
  2. 安装 jupyternotebookconda install jupyter notebook
  3. 生成默认配置文件:jupyter notebook --generate-config
  4. 生成秘钥:进入 ipython
In [1]: from notebook.auth import passwd

In [2]: passwd()

        设置登录密码,如 123@abc

Enter password: 
Verify password: 
Out[2]: 'argon2:$argon2id$v=19$m=10240,t=10,p=8$Gac/+++M6WRhZLRHTuqb8A$y4HG51uIGZf+lZZOnzD4bQ'
  1. 修改配置文件:~/.jupyter/jupyter_notebook_config.py 如下:
c.NotebookApp.password = '刚刚获得的密钥密文'
c.NotebookApp.ip = '*'# ×允许任何ip访问
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 # 可自行指定一个端口, 访问时使用该端口
c.NotebookApp.allow_remote_access = True
  1. 执行 jupyter notebook,看是否可以顺利启动;如果出现
PermissionError: [Errno 13] Permission denied: '/home/ubuntu/.local/share/jupyter

easy!
按如下顺序执行:

sudo mkdir /home/ubuntu/.local/share/jupyter
sudo chmod 777 ~/.local/share/jupyter/
cd ~/.local/share/jupyter/

1.2 本地(windows10)上的配置

  1. 以管理员身份打开命令行;
  2. 确保您的服务器可以通过 ssh 远程连接;若否,具体操作见 5. 将本地服务器上升为局域网内服务器
  3. 在命令行中执行以下命令:
ssh -L [local_port]:127.0.0.1:[remote_port] -p 22 [user_name]@[host_ip_addr]
# local_port --自定义一个本地违背占用的端口,如 10086
# remote_port --前面讲到 jupyter notebook 的端口号默认是 8888,也可以是自己定义
# user_name --您刚刚登录远程服务器配置环境时的账户名字
# host_ip_addr --远程服务器的 ip
# 这个命令的意思大概是:
在本机的端口 (local_port), 通过端口 22 建立远程主机 host_ip_addr 的本地接口 127.0.0.1:[remote_port].

# 首次连接需要输入密码,如:
The authenticity of host '[host_ip_addr]:22 ([host_ip_addr]:22)' can't be established.
ECDSA key fingerprint is SHA256:sBnyVN1117NjjuyryTqjd6uJzxqnpYNp+JkGsCv9+Ew.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[host_ip_addr]:22' (ECDSA) to the list of known hosts.
[user_name]@[host_ip_addr]'s password:
Welcome to Ubuntu 18.04.6 LTS ...
  1. 举个例子,我的服务器账户名是 chopin,ip 是 222.201.144.139,则可以是
ssh -L 10086:127.0.0.1:8888 -p 22 chopin@222.201.144.139
  1. 恭喜,到了这一步,本地的命令行就相当于远程主机的终端了!
  2. 执行 jupyter notebook 启动;
  3. 打开本地的浏览器,输入 localhost:10086 登入;输入设定的密码,如 123@abc.
  4. 标签:jupyter,放飞,ip,host,notebook,Ubuntu,服务器,local,小黑
    来源: https://blog.csdn.net/WinerChopin/article/details/121718942