在Linux服务器上部署Jupyter Notebook并实现ssh无密码远程访问

Jupyter notebook版本7.4.2(这个版本AI提示我Jupyter7+(底层是 jupyter_server 2.x)

服务器开启服务

安装Jupyter notebook 7.4.2成功后,终端输入

jupyter notebook --generate-config

这将在 ~/.jupyter/ 目录下生成 jupyter_notebook_config.py 文件。

进入目录将文件名修改为jupyter_server_config.py,内容的注释全部删除内容改为下面的

c = get_config()# 网络与端口设置
c.ServerApp.ip = '0.0.0.0'              # 允许任意 IP 访问
c.ServerApp.port = 8888                 # 监听端口
c.ServerApp.open_browser = False        # 禁止自动打开浏览器
c.ServerApp.allow_remote_access = True   # 允许远程访问
c.ServerApp.token = ''                  # 关闭 token 验证# 设置密码(格式:sha1:<salt>:<hashed_password>)
c.PasswordIdentityProvider.hashed_password = ''

然后通过下面的命令开启服务

jupyter notebook --no-browser --port=8888

这表示在服务器的8888端口开启服务

主机ssh连接

再打开一个主机的命令行,使用下面的命令

ssh -N -L 9913[这个地方可以自行设定四位十进制数字]:127.0.0.1:8888 ubuntu[这个地方要是你的服务器用户]@192.168.88.146[这个地方是你的服务器地址]

比如我的

ssh -N -L 9913:127.0.0.1:8888 ubuntu@192.168.88.146

这个命令表示将主机的9913和127.0.0.1   ip地址映射到远端(也就是服务器的8888端口)

然后通过主机浏览器输入下面的命令即可启用Jupyter的lab或者是输入tree启动传统界面

http://127.0.0.1:9913/lab

注意

在连接过程中遇到许多BUG会使得连接不成功,我记录一下我遇到的种种BUG

(1)服务器端口已被使用

当我们开启服务器端口后,希望关闭服务,使用非Ctrl+C的暴力方式退出,比如Ctrl+Z退出(实际上Ctrl+Z没有退出,只是挂起了程序),再次使用8888端口开启服务,就会自动在8889端口开启,如下图红框所示,这时我们如果还是拿主机连接,远端就要改为8889,但我似乎记得配置文件中写的是8888.。。。所以为了避免这种情况,我们固定拿Ctrl+C退出。

亦或者,emm,你已经一不小心挂起,而且不想重启服务器(实际上重新连接服务器即可)。那么是我们使用

jupyter notebook list

列出所有用作开启服务端口

OK,发现两个端口

逐个关闭所有端口,

#查看进程PID
lsof -n -i4TCP:<port-number>
#强制关闭PID
kill -9 <PID>

等下次使用时候,直接开启8888端口

(2)主机端口已被使用

就像刚刚所说的服务器8888端口退出不当,在下次使用8888端口开启服务的时候会默认开启8889端口,主机如果退出不当,也会产生这种现象。我们重启主机,或者更改主机ssh连接的端口即可。事实上我的9913也是因为不断连接而选取的数字,不过不用担心,当重启主机一切都会清空,事实上,也可以使用window下面的查看进程PID等操作,不过我不太熟悉,后面没有过多尝试

#查看进程PID
netstat -ano | findstr :<port-number>

(3)主机网页连接命令

看到网上绝大多数教程都是

loaclhost:8888

实际上这个localhost指的也是127.0.0.1(GPT告诉我的额)

我心想那我是不是这样就行了

loaclhost:9913

之后还是不行,可能是由于我是用版本的特殊性所致

Jupyter notebook版本7.4.2(这个版本AI提示我Jupyter(底层是 jupyter_server 2.x)

总之是一个让人窒息的版本。。。

(4)登陆密码

不管怎样,在配置文件中,我们可以给终端设置登陆密码

c.NotebookApp.password = 'sha1:fcf7f97ec219:fc3f70d16abf9626f6e8a9b1d84f297feebcf4f1'c.IdentityProvider.hashed_password = 'sha1:fcf7f97ec219:fc3f70d16abf9626f6e8a9b1d84f297feebcf4f1'

notebook是上面的,server是下面的,这里要注意密码的数值务必是哈希值,不然主机浏览器会一直显示密码输入不正确。我这个就是1234的哈希值。但是后来一直没有成功。配置文件中直接删除即可,就不用使用密码登陆了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

走出 Demo,走向现实:DeepSeek-VL 的多模态工程路线图

目录 一、引言&#xff1a;多模态模型的关键转折点 &#xff08;一&#xff09;当前 LMM 的三个关键挑战 1. 数据的真实性不足 2. 模型设计缺乏场景感知 3. 语言能力与视觉能力难以兼顾 &#xff08;二&#xff09;DeepSeek-VL 的根本出发点&#xff1a;以真实任务为锚点…

数据库原理及其应用 第六次作业

题目 参考答案 题目1. 教材P148第1题 问题&#xff1a;什么是数据库的安全性&#xff1f; 答案&#xff1a;数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏 。它通过用户身份鉴别、存取控制&#xff08;包括自主存取控制和强制存取控制&#x…

2025系统架构师---选择题知识点(押题)

1.《计算机信息系统安全保护等级划分准则》(GB 17859-1999)由低到高定义了五个不同级别的计算机系统安全保护能力。 第一级:用户自主保护级---通过隔离用户与数据实现访问控制,保护用户信息安全; 第二级:系统审计保护级---实施更细粒度的访问控制,通过审计和隔离资源确…

Qt操作SQLite数据库教程

Qt 中操作 SQLite 数据库的步骤如下&#xff1a; 1. 添加 SQLite 驱动并打开数据库 #include <QSqlDatabase> #include <QSqlError> #include <QSqlQuery>// 创建数据库连接 QSqlDatabase db QSqlDatabase::addDatabase("QSQLITE"); db.setData…

从紫光集团看基本财务分析

PE 46PE 代表投资人对他的期望是它的业绩至少要增长50%才算及格。 但实际业绩 一年不如一年. 所以&#xff0c;这个PE 应该是 业绩倒退了&#xff0c;但是市值还没有掉下去&#xff0c;导致运算的结果处在高PE阶段。 那么随着股价的下跌&#xff0c;这个数字会慢慢变小。 当然…

基于MNIST数据集的手写数字识别(CNN)

目录 一&#xff0c;模型训练 1.1 数据集介绍 1.2 CNN模型层结构 1.3 定义CNN模型 1.4 神经网络的前向传播过程 1.5 数据预处理 1.6 加载数据 1.7 初始化 1.8 模型训练过程 1.9 保存模型 二&#xff0c;模型测试 2.1 定义与训练时相同的CNN模型架构 2.2 图像的预处…

centos中postfix的作用

/usr/libexec/postfix/master 是 Postfix 邮件服务器的主进程&#xff0c;qmgr 和 pickup 是 Postfix 的子进程。这些进程本身是正常的&#xff0c;但如果你怀疑服务器被用于钓鱼活动&#xff0c;需要进一步检查 Postfix 的配置和日志&#xff0c;确保它没有被滥用。 1. 检查 P…

蓝牙耳机什么牌子好?倍思值得冲不?

最近总被问“蓝牙耳机什么牌子好”&#xff0c;作为踩过无数坑的资深耳机党&#xff0c;必须安利刚入手的倍思M2s Pro主动降噪蓝牙耳机&#xff01;降噪、音质、颜值全都在线&#xff0c;性价比直接拉满。 -52dB降噪&#xff0c;通勤摸鱼神器 第一次开降噪就被惊到&#xff01…

游戏引擎学习第285天:“Traversables 的事务性占用”

回顾并为当天的工作做准备 我们有一个关于玩家移动的概念&#xff0c;玩家可以在点之间移动&#xff0c;而且当这些点移动时&#xff0c;玩家会随之移动。现在这个部分基本上已经在工作了。我们本来想实现的一个功能是&#xff1a;当玩家移动到某个点时&#xff0c;这个点能“…

java中的包机制

包机制 为了更好地组织类&#xff0c;java提供了包机制&#xff0c;用于区分类名的命名空间 包语句的语法格式为 package pkg1[. pkg2[. pkg3...]]一般利用公司域名倒置作为包名 &#xff1a; 公司域名&#xff1a;www.baidu.com 包名&#xff1a;com.baidu.www 为了能够…

python打卡DAY22

##注入所需库 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import random import numpy as np import time import shap # from sklearn.svm import SVC #支持向量机分类器 # # from sklearn.neighbors import KNeighborsClassifier …

CodeBuddy 开发 JSON 可视化工具实录:JsonVision 的诞生之旅

我正在参加CodeBuddy「首席试玩官」内容创作大赛&#xff0c;本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 &#x1f9ed; 项目起点&#xff1a;一个灵光一现的念头 在日常的前端开发中&#xff0c;我时常需要调试复杂的…

Redis学习专题(一)配置和持久化

目录 一.配置Redis 1.配置application.properties 2. 配置Config 3.测试连接redis 二、Redis持久化 持久化方案 RDB&#xff1a; 1、RDB基础认识 1、具体流程如下&#xff1a; 3、小结&#xff1a; 3、Fork&Copy-On-Write 4、RDB的配置 5、默认快照的配置 6、…

[ctfshow web入门] web77

信息收集 上一题的读取flag方式不能用了&#xff0c;使用后的回显是&#xff1a;could not find driver 解题 同样的查目录方法 cvar_export(scandir("glob:///*"));die();cforeach(new DirectoryIterator("glob:///*") as $a){echo($a->__toString…

每日算法刷题Day8 5.16:leetcode定长滑动窗口4道题,用时1h

5. 2379.得到k个黑块的最少涂色次数(简单) 2379. 得到 K 个黑块的最少涂色次数 - 力扣&#xff08;LeetCode&#xff09; 思想 1.返回至少出现 一次 连续 k 个黑色块的 最少 操作次数 2.还是定长k&#xff0c;统计量就是把白色变成黑色的操作次数&#xff0c;无需记录当前有…

很啰嗦,再次总结 DOM

DOM (文档对象模型) 详解 一、DOM 基础概念 1. 定义与作用 DOM&#xff08;Document Object Model&#xff09;即文档对象模型&#xff0c;是一种用于 HTML 和 XML 文档的编程接口。它将文档解析为一个由节点和对象组成的树状结构&#xff0c;允许程序和脚本动态访问、修改文…

ES6 (ECMAScript 2015) 详解

文章目录 一、ES6简介1.1 什么是ES6&#xff1f;1.2 为什么要学习ES6&#xff1f;1.3 浏览器支持情况 二、let和const关键字2.1 let关键字2.2 const关键字2.3 var、let和const的选择 三、箭头函数3.1 基本语法3.2 箭头函数的特点3.3 何时使用箭头函数 四、模板字符串4.1 基本语…

LeetCode 746 使用最小花费爬楼梯

当然可以&#xff01;LeetCode 746 是一道经典的动态规划入门题&#xff0c;我来用 C 为你详细解释。 题目描述 给定一个整数数组 cost&#xff0c;其中每个元素 cost[i] 表示从第 i 个台阶向上爬需要支付的费用。一旦支付费用&#xff0c;你可以选择向上爬 1 步 或 2 步。 你…

6.1.1图的基本概念

基本概念 图&#xff1a; 顶点集边集 顶点集&#xff1a;所有顶点的集合&#xff0c;不能为空&#xff08;因为图是顶点集和边集组成&#xff0c;其中一个顶点集不能为空&#xff0c;则图肯定不为空&#xff09; 边集&#xff1a;所有边的集合&#xff0c;边是由顶点集中的2…

WeakAuras Lua Script [TOC BOSS 5 - Anub‘arak ]

WeakAuras Lua Script [TOC BOSS 5 - Anubarak ] 阿努巴拉克 - 小强中虫范围 插件 !WA:2!DE1B0Xrvv8UmuRmIqZwiaXQmgKycwsYUPjPLZPTz3nBYULKnBNDtlYP6o)7T7mMzNz6BMnnBefBqGacIUOsXIkSIki)rCbLkIhLi6h8t3to6h9G2dXt4R9d(rR33mt2MyepQ75KSV3BUZ9FV7VF37g54rDvgU)yX7)GrRgvlQ2Y…