当前位置: 首页 > news >正文

在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的哈希值。但是后来一直没有成功。配置文件中直接删除即可,就不用使用密码登陆了。

相关文章:

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

Jupyter notebook版本7.4.2&#xff08;这个版本AI提示我Jupyter7&#xff08;底层是 jupyter_server 2.x&#xff09; 服务器开启服务 安装Jupyter notebook 7.4.2成功后&#xff0c;终端输入 jupyter notebook --generate-config 这将在 ~/.jupyter/ 目录下生成 jupyter_…...

C#数组与集合

&#x1f9e0; 一、数组&#xff08;Array&#xff09; 1. 定义和初始化数组 // 定义并初始化数组 int[] numbers new int[5]; // 默认值为 0// 声明并赋值 string[] names { "Tom", "Jerry", "Bob" };// 使用 new 初始化 double[] scores …...

服务器内部可以访问外部网络,docker内部无法访问外部网络,只能docker内部访问

要通过 iptables 将容器中的特定端口请求转发到特定服务器&#xff0c;你需要设置 DNAT&#xff08;目标地址转换&#xff09;规则。以下是详细步骤&#xff1a; 假设场景 容器端口: 8080&#xff08;容器内服务监听的端口&#xff09;目标服务器: 192.168.1.100&#xff08;请…...

mathematics-2024《Graph Convolutional Network for Image Restoration: A Survey》

推荐深蓝学院的《深度神经网络加速&#xff1a;cuDNN 与 TensorRT》&#xff0c;课程面向就业&#xff0c;细致讲解CUDA运算的理论支撑与实践&#xff0c;学完可以系统化掌握CUDA基础编程知识以及TensorRT实战&#xff0c;并且能够利用GPU开发高性能、高并发的软件系统&#xf…...

ssti刷刷刷

[NewStarCTF 公开赛赛道]BabySSTI_One 测试发现过滤关键字&#xff0c;但是特殊符号中括号、双引号、点都能用 可以考虑拼接或者编码&#xff0c;这里使用拼接 ?name{{()["__cla"~"ss__"]}}?name{{()["__cla"~"ss__"]["__ba&…...

Zephyr OS Nordic芯片的Flash 操作

目录 概述 1. 软硬件环境 1.1 软件开发环境 1.2 硬件环境 2 Flash操作库函数 2.1 nRF52832的Flash 2.2 Nordic 特有的 Flash 操作 2.2.1 nrfx_nvmc_bytes_write 函数 2.2.2 nrfx_nvmc_page_erase函数 2.2.3 nrfx_nvmc_write_done_check 函数 3 操作Flash的接口函数…...

傅里叶变换实战:图像去噪与边缘提取

傅里叶变换在图像处理中的应用与实践详解&#xff08;超详细教程实战代码&#xff09; &#x1f680; 本文从零开始详解傅里叶变换在图像处理中的应用&#xff0c;手把手教你实现图像去噪与边缘提取&#xff01;全文配套Python代码&#xff0c;新手也能轻松上手&#xff01; 一…...

go-中间件的使用

中间件介绍 Gin框架允许开发者在处理请求的过程中加入用户自己的钩子(Hook)函数这个钩子函数就是中间件&#xff0c;中间件适合处理一些公共的业务逻辑比如登录认证&#xff0c;权限校验&#xff0c;数据分页&#xff0c;记录日志&#xff0c;耗时统计 1.定义全局中间件 pac…...

昇腾NPU环境搭建

如果进入服务器输入npu-smi info可以看到npu情况&#xff0c;请直接跳转第三步 STEP1: 服务器安装依赖 sudo yum install -y gcc gcc-c make cmake unzip zlib-devel libffi-devel openssl-devel pciutils net-tools sqlite-devel lapack-devel gcc-gfortran python3-develyu…...

【HTML5学习笔记2】html标签(下)

1表格标签 1.1表格作用 显示数据 1.2基本语法 <table><tr> 一行<td>单元格1</td></tr> </table> 1.3表头单元格标签 表头单元格会加粗并且居中 <table><tr> 一行<th>单元格1</th></tr> </table&g…...

开源轻量级地图解决方案leaflet

Leaflet 地图&#xff1a;开源轻量级地图解决方案 Leaflet 是一个开源的 JavaScript 库&#xff0c;用于在网页中嵌入交互式地图。它以轻量级、灵活性和易用性著称&#xff0c;适用于需要快速集成地图功能的项目。以下是关于 Leaflet 的详细介绍和使用指南。 1. Leaflet 的核心…...

LLM学习笔记(六)线性代数

公式速查表 1. 向量与矩阵&#xff1a;表示、转换与知识存储的基础 向量表示 (Vectors): 语义的载体 在LLM中&#xff0c;向量 x ∈ R d \mathbf{x}\in\mathbb{R}^d x∈Rd 是信息的基本单元&#xff0c;承载着丰富的语义信息&#xff1a; 词嵌入向量 (Word Embeddings)&am…...

Vue 3.0双向数据绑定实现原理

Vue3 的数据双向绑定是通过响应式系统来实现的。相比于 Vue2&#xff0c;Vue3 在响应式系统上做了很多改进&#xff0c;主要使用了 Proxy 对象来替代原来的 Object.defineProperty。本文将介绍 Vue3 数据双向绑定的主要特点和实现方式。 1. 响应式系统 1.1. Proxy对象 Vue3 …...

Quasar组件 Carousel走马灯

通过对比两个q-carousel组件来&#xff0c;了解该组件的属性 官方文档请参阅&#xff1a;Carousel 预览 源代码 <template><div class"q-pa-md"><div class"q-gutter-md"><q-carouselv-model"slide"transition-prev&quo…...

Vue 2.0学习

个人简介 &#x1f468;‍&#x1f4bb;‍个人主页&#xff1a; 魔术师 &#x1f4d6;学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全栈发展 &#x1f6b4;个人状态&#xff1a; 研发工程师&#xff0c;现效力于政务服务网事业 &#x1f1e8;&#x1f1f3;人生格言&…...

LangFlow技术深度解析:可视化编排LangChain应用的新范式 -(3)组件系统

Component System | langflow-ai/langflow | DeepWiki 组件系统 相关源文件 组件系统是核心基础设施&#xff0c;使 Langflow 能够在工作流中创建、配置和连接模块化构建块。该系统通过为组件提供一致的接口来定义其输入、输出、执行行为以及与其他组件的连接&#xff0c;从…...

【Win32 API】 lstrcmpA()

作用 比较两个字符字符串&#xff08;比较区分大小写&#xff09;。 lstrcmp 函数通过从第一个字符开始检查&#xff0c;若相等&#xff0c;则检查下一个&#xff0c;直到找到不相等或到达字符串的末尾。 函数 int lstrcmpA(LPCSTR lpString1, LPCSTR lpString2); 参数 lpStr…...

LabVIEW光谱检测系统

腔衰荡光谱技术&#xff08;CRDS&#xff09;凭借高精度和高灵敏度特性&#xff0c;成为微量气体浓度检测的常用方法&#xff0c;而准确获取衰荡时间是该技术应用的关键。基于LabVIEW平台设计腔衰荡信号在线处理系统&#xff0c;实现对衰荡信号的实时采集、平均、拟合、显示和保…...

深入解读WPDRRC信息安全模型:构建中国特色的信息安全防护体系

目录 前言1 WPDRRC模型概述2 模型结构详解2.1 预警&#xff08;Warning&#xff09;2.2 保护&#xff08;Protect&#xff09;2.3 检测&#xff08;Detect&#xff09;2.4 响应&#xff08;React&#xff09;2.5 恢复&#xff08;Restore&#xff09;2.6 反击&#xff08;Count…...

uniapp-商城-59-后台 新增商品(属性的选中,进行过滤展示,filter,some,every和map)

前面讲了属性的添加&#xff0c;添加完成后&#xff0c;数据库中已经存在数据了&#xff0c;这时再继续商品的添加时&#xff0c;就可以进行属性的选择了。 在商品添加过程中&#xff0c;属性选择是一个关键步骤。首先&#xff0c;界面需要展示嵌套的属性数据&#xff0c;用户通…...

RDIFramework.NET Web敏捷开发框架 V6.2发布(.NET6+、Framework双引擎)

1、框架介绍 .NET6、Framework双引擎、全网唯一 RDIFramework.NET敏捷开发框架&#xff0c;是我司重磅推出的支持.NET6和.NET Framework双引擎的快速信息化系统开发、整合框架&#xff0c;为企业快速构建企业级的应用提供了强大支持。 依托框架强大的基座&#xff0c;开发人员只…...

JMeter 教程:编写 GET 请求脚本访问百度首页

目录 练习要求&#xff1a; 练习步骤&#xff1a; 效果图&#xff1a; 练习要求&#xff1a; 练习步骤&#xff1a; 效果图&#xff1a;...

JSP 实现二级联动下拉菜单:一次加载,前端动态更新

在Web开发中,二级联动下拉菜单(或多级联动)是一种非常常见的用户交互形式,例如选择省份后动态加载对应的城市列表。本文将详细介绍一种在JSP中实现二级联动的方法:后端一次性将所有联动数据加载到前端,然后通过JavaScript在客户端动态更新二级下拉菜单。这种方法对于数据…...

Room数据库

Room数据库 Room是Android Jetpack组件中的一款SQLite数据库抽象层框架&#xff0c;旨在简化本地数据库操作&#xff0c;提供编译时SQL校验、类型与安全、与LiveData/Flow无缝集成等特性。 1. 什么是Room 定义&#xff1a; Room 是 Android Jetpack 提供的一个 ORM&#xff…...

文件上传Ⅲ

#文件-解析方案-执行权限&解码还原 1、执行权限 文件上传后存储目录不给执行权限&#xff08;即它并不限制你上传文件的类型&#xff0c;但不会让相应存有后门代码的PHP文件执行&#xff0c;但是PNG图片是可以访问的&#xff09; 2、解码还原 数据做存储&#xff0c;解…...

前端取经路——量子UI:响应式交互新范式

嘿&#xff0c;老铁们好啊&#xff01;我是老十三&#xff0c;一枚普通的前端切图仔&#xff08;不&#xff0c;开玩笑的&#xff0c;我是正经开发&#xff09;。最近前端技术简直跟坐火箭一样&#xff0c;飞速发展&#xff01;今天我就跟大家唠唠从状态管理到实时渲染&#xf…...

15 C 语言字符类型详解:转义字符、格式化输出、字符类型本质、ASCII 码编程实战、最值宏汇总

1 字符类型概述 在 C 语言中&#xff0c;字符类型 char 用于表示单个字符&#xff0c;例如一个数字、一个字母或一个符号。 char 类型的字面量是用单引号括起来的单个字符&#xff0c;例如 A、5 或 #。 当需要表示多个字符组成的序列时&#xff0c;就涉及到了字符串。在 C 语言…...

AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式

AlphaEvolve&#xff1a;LLM驱动的算法进化革命与科学发现新范式 本文聚焦Google DeepMind最新发布的AlphaEvolve&#xff0c;探讨其如何通过LLM与进化算法的结合&#xff0c;在数学难题突破、计算基础设施优化等领域实现革命性进展。从48次乘法优化44矩阵相乘到数据中心资源利…...

比较文本搜索策略 pgsearch、tsvector 和外部引擎

大家好&#xff0c;这里是架构资源栈&#xff01;点击上方关注&#xff0c;添加“星标”&#xff0c;一起学习大厂前沿架构&#xff01; 在应用程序中实现搜索功能时&#xff0c;您需要选择合适的文本搜索方法。本指南比较了 PostgreSQL 的内置搜索引擎tsvector、pg_search扩展…...

58. 区间和

题目链接&#xff1a; 58. 区间和 题目描述&#xff1a; 给定一个整数数组 Array&#xff0c;请计算该数组在每个指定区间内元素的总和。 输入描述 第一行输入为整数数组 Array 的长度 n&#xff0c;接下来 n 行&#xff0c;每行一个整数&#xff0c;表示数组的元素。随后…...

MySQL中表的增删改查(CRUD)

一.在表中增加数据&#xff08;Create&#xff09; INSERT [INTO] TB_NAME [(COLUMN1,COLUMN2,...)] VALUES (value_list1),(value_list2),...;into可以省略可仅选择部分列选择插入&#xff0c;column即选择的列&#xff0c; 如图例可以选择仅在valuelist中插入age和id如果不指…...

SQL练习(6/81)

目录 1.寻找连续值 方法一&#xff1a;使用自连接&#xff08;Self-Join&#xff09; 方法二&#xff1a;使用窗口函数&#xff08;Window Functions&#xff09; 2.寻找有重复的值 GROUP BY子句 HAVING子句 常用聚合函数&#xff1a; 3.找不存在某属性的值 not in no…...

Android 中 打开文件选择器(ACTION_OPEN_DOCUMENT )

在 Android 中&#xff0c;打开文件选择器&#xff08;File Picker&#xff09;通常是指启动一个系统提供的界面&#xff0c;让用户可以选择存储在设备上的文件。可以通过发送一个带有 Intent.ACTION_OPEN_DOCUMENT 或 Intent.ACTION_GET_CONTENT 的 Intent 来实现。 1、启动文…...

AWS中国区CloudFront证书管理和应用指南

在AWS中国区使用CloudFront时,SSL/TLS证书的管理和应用是一个重要的环节。本文将详细介绍如何在AWS中国区上传、管理和应用SSL证书到CloudFront分配。 1. 准备证书文件 首先,我们需要准备好SSL证书相关的文件。通常,这包括: 私钥文件(.key)公钥证书文件(.crt)证书链文…...

Python之三大基本库——Matplotlib

好久没来总结了&#xff0c;今天刚好有时间&#xff0c;我们来继续总结一下python中的matplotlib 一、什么是Matplotlib ‌Matplotlib‌是一个Python的2D绘图库&#xff0c;主要用于将数据绘制成各种图表&#xff0c;如折线图、柱状图、散点图、直方图、饼图等。它以各种硬拷贝…...

随笔:hhhhh

第一题 ∫ − ∞ ∞ x e x − e x d x ∫ 0 ∞ ln ⁡ t ⋅ e ln ⁡ t − t ⋅ 1 t d t ∫ 0 ∞ ln ⁡ t ⋅ e − t ⋅ 1 t ⋅ t d t ∫ 0 ∞ ln ⁡ t ⋅ e − t d t ψ ( 1 ) − γ \begin{align*} \int_{-\infty}^{\infty}xe^{x-e^x}\text{d}x&\int_{0}^{\infty}…...

计算机网络-----6分层结构

目录 “分层” 的设计思想&#xff1a; 计算机网络要完成的功能&#xff1a; 计算机网络的分层结构&#xff1a; 网络体系结构的概念&#xff1a; 各层之间的关系&#xff1a; 数据的传输过程 水平视角&#xff1a; 垂直视角&#xff1a; 相关概念 协议三要素&#x…...

初识SOC:RK3588

目录 一、高性能计算与边缘计算 二、多媒体处理与显示 三、图形与游戏开发 四、物联网与嵌入式系统 五、操作系统兼容性 RK3588作为瑞芯微推出的高性能处理器&#xff0c;凭借其多核架构、高算力NPU和多媒体处理能力&#xff0c;可广泛应用于以下领域&#xff1a; 一、高…...

卡顿检测与 Choreographer 原理

一、卡顿检测的原理 卡顿的本质是主线程&#xff08;UI 线程&#xff09;未能及时完成某帧的渲染任务&#xff08;超过 16.6ms&#xff0c;以 60Hz 屏幕为例&#xff09;&#xff0c;导致丢帧&#xff08;Frame Drop&#xff09;。检测卡顿的核心思路是监控主线程任务的执行时…...

第十天——贪心算法——深度总结

文章目录 贪心算法深度解析&#xff1a;原理与应用 1. 贪心算法的基本原理 1.1 贪心选择性质 1.2 最优子结构 1.3 贪心算法与动态规划的对比 2. 贪心算法的应用场景 3. 具体应用案例 3.1 分配饼干 (Assign Cookies) 3.2 分糖果 (Candy Distribution) 3.3 种花问题 (C…...

python自学笔记2 数据类型

字符串操作 f字符串&#xff1a; for index, char in enumerate(greeting_str):print(f"字符&#xff1a;{char}, 索引&#xff1a;{index}")f字符串可以方便的在字符串中插入变量 字符串切片 指定步长&#xff1a; print(greeting_str[::2])指定步长为2的取字符…...

nacos配置文件快速部署另一种方法

提交nacos配置的另一种一种方法,批命令/shell: 以下脚本直接把当前目录下的所有yaml文件一键提交到nacos上 前提是要先安装curl 以及 jq 然后 把下面的shell保存为 import-all.sh 然后 chmod x import-all.sh && ./import-all.sh 就好了. 记得修改一下的NAMESPACE_…...

RTK哪个品牌好?2025年RTK主流品牌深度解析

在测绘领域&#xff0c;RTK 技术的发展日新月异&#xff0c;选择一款性能卓越、稳定可靠的 RTK 设备至关重要。2025 年&#xff0c;市场上涌现出众多优秀品牌&#xff0c;本文将深入解析几大主流品牌的核心竞争力。 华测导航&#xff08;CHCNAV&#xff09;&#xff1a;技术创…...

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

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

HNUST湖南科技大学-安卓Android期中复习

使用说明&#xff1a;除了选择判断就看习题外&#xff0c;推荐重点复习三四章多复习案例&#xff0c;这里应该是编程空题&#xff0c;把界面控件、活动单元熟悉一下。第五章&#xff08;数据存储方式&#xff0c;尤其是文件存储&#xff09;、第六章&#xff08;重点内容提供者…...

一种应用非常广泛的开源RTOS(实时操作系统):nuttx

什么是NuttX&#xff1f; NuttX&#xff08;读音接近“纳特-艾克斯”&#xff09;是一种应用非常广泛的开源RTOS&#xff08;实时操作系统&#xff09;&#xff0c;由Gregory Nutt博士主要推动开发。RTOS&#xff0c;即 Real-Time Operating System&#xff0c;直译为“实时操…...

WebSocket 客户端 DLL 模块设计说明(基于 WebSocket++ + Boost.Asio)

WebSocket 客户端 DLL 模块设计说明&#xff08;基于 WebSocket Boost.Asio&#xff09; &#x1f4cc; 目录 一、模块总览二、导出接口说明&#xff08;EXPORTS&#xff09;三、状态变量功能解读四、连接启动流程详解五、事件回调说明六、消息发送流程七、心跳与断连 JSON …...

微信小程序:封装request请求、解决请求路径问题

一、创建文件 1、创建请求文件 创建工具类文件request.js,目的是用于发送请求 二、js接口封装 1、写入接口路径 创建一个变量BASE_URL专门存储api请求地址 2、获取全局的token变量 从缓存中取出token的数据 3、执行请求 (1)方法中接收传递的参数 function request(url,…...

Ubuntu24.04 安装 5080显卡驱动以及cuda

前言 之前使用Ubuntu22.04版本一直报错,然后换了24.04版本才能正常安装 一. 配置基础环境 Linux系统进行环境开发环境配置-CSDN博客 二. 安装显卡驱动 1.安装驱动 按以下步骤来&#xff1a; sudo apt update && sudo apt upgrade -y#下载最新内核并安装 sudo add…...

Jenkins的流水线执行shell脚本执行jar命令后项目未启动未输出日志问题处理

现象 在流水线里配置了启动脚本例如&#xff0c;nohup java -jar xxx.jar >nohup.out 2>&1 & 但是在服务器发现服务并未启动,且nohup日志里没输出日志,这样的原因是jenkins在执行完脚本后&#xff0c;就退出了这个进程。 解决 在启动脚本执行jar命令的上一步…...