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 passwdIn [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. 想在 Ubuntu 上放飞梦想的小黑菜(2)相关推荐

    1. 介绍两个Ubuntu上的桌面小工具

      经常使用Windows10,Sticky Notes和壁纸自动切换功能挺好用的.我经常会使用Sticky Notes来记录一些信息,内容是实时保存的,而且启动的时候会自动显示在桌面上.其实Ubuntu ...

    2. ubuntu上有个小项目 ,需要调用xx.sh脚本, 出现无法识别 某些环境变量的解决办法,仅供参考

      项目是用python 调用 同事写好的 xx.sh脚本, 在手动调用的时候 发现能正常调用, 当用python代码的时候, 就不行了, 通过日志发现, python调用的时候 不识别 ADNROID_ ...

    3. 在 Ubuntu 上安装最新版本的 Erlang方法介绍

      Erlang 是一种用于构建大规模可扩展实时系统的函数式编程语言.Erlang 最初是由 爱立信 创建的专有软件,后来被开源. Erlang 在 Ubuntu 的 Universe 仓库 中可用.启用 ...

    4. Ubuntu上安装Maven3

      今天想在Ubuntu上安装下Maven3 刚开始用apt-get 安装的,结果只有maven2,然后就卸载了 sudo apt-get remove maven2 然后在网上找了下教程,看看怎么安装 ...

    5. ubuntu的web服务器_如何在Ubuntu上安装OpenLiteSpeed Web服务器?

      ubuntu的web服务器 Want to install OpenLiteSpeed Webserver on Ubuntu? Today we're going to do just that. ...

    6. wordpress移动_如何在移动设备上隐藏WordPress小部件(易于初学者使用)

      wordpress移动 Do you want to hide a specific WordPress widget for mobile users? 您要为移动用户隐藏特定的WordPress小 ...

    7. Ubuntu上Firefox字体太小--高分屏背锅

      高分屏上Firefox调整缩放比 电脑配置:Windows8和Ubuntu16.04双系统,Ubuntu引导,笔记本屏幕是一块1080P的高分屏(毕竟是游戏本,当然现在大多数电脑还是1366x768的 ...

    8. [Linux] ubuntu安装输入法----小企鹅输入法(Ubuntu上最好用的输入法)

      http://www.myzqu.com/thread-51235-1-1.html 刚才XX人说ubuntu上的输入法太难用了,其实不是这样的,就算系统自带的ibus只要设置好了也挺好用的!     ...

    9. Ubuntu 上创建常用磁盘阵列

      RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...

    最新文章

    1. mysql索引检测_mysql检测重复索引
    2. 数开头的成语有哪些_从“1到10”你会想到哪些成语?数字开头的成语,好玩又好用!...
    3. 两个list怎么对比数据_基于日志的回放对比系统设计
    4. jQuery源码分析 整体框架部分及部分常用方法
    5. DB pivot unpivot
    6. C++基础::自制异常定位器
    7. Latex格式投稿需注意的问题_以BSPC和BMC BioInformatics为例
    8. OBS无延迟视频直播完整教程(组图)
    9. RACK与重复ACK
    10. 容迟网络中的路由算法笔记(二)
    11. ios点击推送闪退_iOS 13.4 Beta 4 发布,闪退问题修复!
    12. 两轮车燃油喷射系统的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
    13. java 获取视频时间_java 获取视频时间
    14. mvc中viewdata 和viewbag的区别
    15. 执行 this.$destroy()后原生DOM事件也无法执行
    16. 海思芯片HI35xx NNIE踩坑录
    17. 区块链+人工智能,重新定义世界
    18. 软件开发中的10个认知偏差
    19. 建筑施工技术【15】
    20. html、css 实现一个漂亮的表格

    热门文章

    1. Java第一次实习面试经历
    2. android, 模拟器
    3. python中形参只在函数内部有效_【Python】函数
    4. 大型项目的管理(学习)
    5. 高速光耦(PS8101,TLP112A,TLP109)基本工作原理应用实例
    6. BLAST背后的知识(一点原理)
    7. 关于学习vue.js前端遇到的问题总结
    8. POJ NO.1979 Red and Black(DPS,搬黑砖,,,)
    9. 法律诉讼知识:民事诉讼流程
    10. 例解BITMAP的数据格式