如何利用windows本机调用Linux服务器,以及如何调用jupyter界面远程操控

其实这篇文章没必要存在,教程太多了

参考博客(1 2 3),如侵删

奈何网上的大神总是会漏掉一些凡人遇到的小问题

(1) 建议下载PuTTy for windows,从而建立与远程服务器的SSH连接

需要确认目标服务器的ip(或者网站地址) 端口号 以及用户名与密码

(2)搭建Python等环境,建议找一个好用的requirement

比如提前利用scp命令将自己要跑的,要复现的代码的requirement上传上去, 再用pip或者conda指令安装requirement的库
所以一个团队制作一个合格的requirement,确保涵盖大多需求是比较合理的
如何用scp将多个文件夹上传到服务器或下载回本地,参考博客(4)

例如将我 的本地代码 E:/GAN 文件目录下所有的文件,上传到身份为 root 的远程服务器 1.1.1.1 的文件路径 home/me 上

scp -r E:/GAN root@1.1.1.1:/home/me/

或者带端口 2222 的服务器

scp -P 2222 E:/GAN root@1.1.1.1:/home/me/

(3)因为重点想实现远程跑jupyter,本地可视化,所以需要额外的步骤

为避免小白重进坑,此处借鉴博客(1 2 3)的步骤加以修改

1 jupyter notebook远程访问设置
conda activate abc	#激活虚拟环境[不在虚拟环境中可以省略此步骤]
pip install jupyter	#安装
jupyter notebook --generate-config	#生成配置文件

安装完成后,Jupyter会生成一个默认的配置文件。这个配置文件通常位于~/.jupyter/jupyter_notebook_config.json。

2 在服务器上生成加密密钥

为了安全地连接Jupyter Notebook,您需要生成一个加密密钥。

首先,在终端输入python指令进行python环境,

python

并依次执行:

from IPython.lib import passwd 
passwd()
2.1 如果出现如下错误,(我出现了)

在这里插入图片描述
则可能是您的python版本过高,可以换条指令:

from notebook.auth import passwd
passwd()

如果仍然出现报错(是的,我还是):
在这里插入图片描述
可以继续换指令(下面指令在python3.8中不报错):

from jupyter_server.auth import passwd
passwd()
这三条指令都会提示您输入和确认一个密码。这个密码将被用于加密Jupyter Notebook的连接(复制密文备用,如下图所示)。

在这里插入图片描述
输入 exit() 就可以退出python环境。

3 修改服务器配置文件

执行以下指令进入Jupyter的配置文件~/.jupyter/jupyter_notebook_config.json。

vim ~/.jupyter/jupyter_notebook_config.py

此外,进入这个py文件后, 可以看到如下的内容。
在这里插入图片描述
如果你没看到,可能是没生成设置文件。 请再次尝试

jupyter notebook --generate-config	#生成配置文件

linux系统服务器中可使用 :$ 进行索引定位到文件底部。
小白可以当光标到达最后一个字符位置后,按下小写字母o就可以换行并允许输入了。然后在这个最后面增加如下内容:

c.NotebookApp.ip='*'
c.NotebookApp.password = u'argon2:xxxxxxxxxxxxxxxxxxx'  # 先前备份的加密密钥
c.NotebookApp.port = 8888 # 随便设定一个端口
c.NotebookApp.open_browser = False
c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_root = True
c.NotebookApp.notebook_dir = '/project'  # 定义notebook的起始路径

这里一定要确认自己的加密秘钥, 以及 最后的启示路径, 因为团队中可能会分配各自的文件夹,所以这里最好给自己分配为自己的文件夹。后续方便本地调试jupyter。

4 回到本地的windows(其他也行),利用cmd建立与远程服务器的链接

在您的本地机器上打开命令提示符或终端。使用SSH命令连接到远程服务器。例如,如果远程服务器的IP地址是192.168.0.100,用户名是root,端口号是50001,那么可以使用以下命令:

ssh -p 50001 root@192.168.0.100 -L127.0.0.1:8889:127.0.0.1:8889

当然,如果服务器给你的是一个网址,也可以直接把上述的服务器ip改成你的服务器网址。

5 在服务器上使用jupyter

当然,如果你是重新启动了服务器, 先激活自己的环境(activate),进入(cd)自己的文件夹后,启动jupyter:

jupyter notebook --no-browser

服务器会输出:
在这里插入图片描述

6 在本地浏览器上远程访问jupyter

http://localhost:8889/tree

然后就会出现
在这里插入图片描述
输入你设置的密码,忘了可以重新设置(看第2步)

这个教程比较粗糙,但是实测了几台本地机器没漏步骤。

这里的端口你自己设置哈, 我觉得8888还不错。

最后的使用

后续的调用, 重复 4 5 6 步骤,先CMD连接,再服务器启动jupyter,最后本地输入网址,操作服务器运行jupyter。 相对方便

第4步如果不知道服务器的ip,就在服务器端输入 hostname -I

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

实验六:频域图像增强方法

一、实验目的 熟练掌握频域滤波增强的各类滤波器的原理及实现。分析不同用途的滤波器对频域滤波增强效果的影响,并分析不同的滤波器截止频率对频域滤波增强效果的影响。二、实验原理 ① Butterworth 低通滤波器:一种具有最大平坦通带幅度响应的滤波器。它的特点是在通带内具…

JAVA面向对象03

基本类型的包装类 拆包–>封包 拆包–>包装类型转换基本数据类型 封包—>基本数据类型转换包装类型 编号基本数据类型包装类型1byteByte2shortShort3charCharacter4intInteger5longLonLong6floatFloat7doubleDouble8booleanBoolean 使用包装类型的原因 java是一…

【JDK切换】切换JDK版本

众所周知: 现在springboot框架创建的jdk版本已经没有1.8了,但是有的项目运用的还是1.8,但新创建却不得不下载个新版本JDK,比如JDK22:https://download.csdn.net/download/sh1307212321/89556578 那么问题来了&#x…

DC系列靶场---DC 2靶场的渗透测试(一)

信息收集 Nmap扫描 nmap -sV -p- -sC -T4 172.30.1.141 域名解析 echo 172.30.1.141 dc-2 >> /etc/hosts 目录枚举 gobuster dir -u http://172.30.1.141 -w work/lab/CTF/ATT_CK_01/SecLists-master/Discovery/Web-Content/big.txt -x .php,.rar,.html,.zip -t 20 -b…

【深度学习】PyTorch框架(3):优化与初始化

1.引言 在本文中,我们将探讨神经网络的优化与初始化技术。随着神经网络深度的增加,我们会遇到多种挑战。最关键的是确保网络中梯度流动的稳定性,否则可能会遭遇梯度消失或梯度爆炸的问题。因此,我们将深入探讨以下两个核心概念&a…

【入门基础】java泛型和通配符详解

【入门基础】java泛型和通配符详解 文章目录 前言泛型类泛型方法泛型接口通配符(Wildcards)使用场景非主流用法 总结 前言 Java泛型(Generics)是JDK 5中引入的一个新特性,它提供了编译时类型安全检测机制,…

【机器学习】Cross Validation: 强化模型泛化能力的利器

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Cross Validation: 强化模型泛化能力的利器引言什么是Cross Validation&#xf…

Ubantu 使用 docker 配置 + 远程部署 + 远程开发

大家好我是苏麟 , Ubantu 一些配置 . 视频 : 服务器很贵?搞台虚拟机玩玩!保姆级 Linux 远程开发教程_哔哩哔哩_bilibili Docker安装及配置 安装命令 : sudo apt install docker.io 查看版本号 : docker -v 查看虚拟机地址命令 : ifconfig 虚拟机地址 或…

pytorch的17个Loss和10个优化函数

pytorch的17个Loss和10个优化函数 一、 17个Loss 函数二、10个优化器 一、 17个Loss 函数 二、10个优化器 开始:

AI数字人+数字孪生IOC智慧运营平台:提升业务场景智慧化运维水平

在人工智能时代,“AI数字人数字孪生IOC智慧运营平台”,不仅能够提升数字孪生系统的人机交互体验,还能实现高效的运维管理,可以有效推动多领域场景数字化转型和智能化升级。 案例分享 深圳新一代产业园NEXT PARK交流中心 深圳新一…

coze.com收费了怎么办?这个方法让你继续免费使用!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 另辟蹊径 📒📝 替代方案📝 测试⚓️ 相关链接 ⚓️📖 介绍 📖 突如其来的变化总是让人措手不及!那个曾经免费为我们提供无限便利的coze.com,竟然也悄然迈入了收费的行列。我们精心创建的Bot,那个每天陪伴我们工作、…

第十四届蓝桥杯省赛C++C组C题【三国游戏】题解(AC)

解题思路 由于三种国家都有获胜的可能,所以我们需要分别枚举 X , Y , Z X,Y,Z X,Y,Z 获胜的情况。 设 X X X 获胜,那么对于第 i i i 个事件的贡献为 a [ i ] − ( b [ i ] c [ i ] ) a[i]-(b[i]c[i]) a[i]−(b[i]c[i]),根据贪心的策略…

C++写一个线程池

C写一个线程池 文章目录 C写一个线程池设计思路测试数据的实现任务类的实现线程池类的实现线程池构造函数线程池入口函数队列中取任务添加任务函数线程池终止函数 源码 之前用C语言写了一个线程池,详情请见: C语言写一个线程池 这次换成C了!…

object-C 解答算法:合并两个有序数组(leetCode-88)

合并两个有序数组(leetCode-88) 题目如下图:(也可以到leetCode上看完整题目,题号88) 首先搞懂,什么叫“非递减顺序” 非递减顺序,是指一个序列中的元素从前往后(或从左到右)保持不减少或相等。 这意味着序列中的元素可以保持相同的值,但不会…

网络云服务1

第一章 虚拟私有云 前言 在整个ICT基础设施的发展过程中,网络资源一直是必不可少的存在。有了网络资源,设备与设备间,系统与系统间才有了交流,才能更好地去支撑企业业务的快速发展。本章将带领大家了解华为云上的网络服务。 网…

四个节点即可实现的ComfyUI批量抠图工作流

原文链接:ComfyUI面部修复完全指南 (chinaz.com) 下图就是批量抠图的工作流 虽然工作流很简单,但是我们前提还是需要安装好我们的节点 首先安装我们的抠图节点 安装 BiRefNet 所需依赖:timm,如已安装无需运行 requirements.txt…

如何写好建模论文

如何写好建模论文 一、 写好数模答卷的重要性 1.评定参赛队的成绩好坏、高低,获奖级别, 数模答卷, 是唯一依据。 2.答卷是竞赛活动的成绩结晶的书面形式。 3.写好答卷的训练,是科技写作的一种基本训练。 二、 答卷的基本内容&…

【HTML入门】第十五课 - form表单(下)表单控件们(二)

上一小节我们说了文本输入框,密码输入框,数值型输入框,还有大的文本域。这一小节,我们继续说form表单中的一些常用的控件们。 目录 1 单选按钮 2 复选框 3 下拉列表选择 1 单选按钮 单选按钮,就是说一组按钮中&am…

R-CNN 中的区域建议网络

区域建议网络(Region Proposal Network,RPN)是R-CNN(Regions with Convolutional Neural Networks)架构中的一个关键组件,特别是在Faster R-CNN中。RPN的主要任务是生成可能包含物体的区域提议,…

buuctf-reverse write-ups (2)

文章目录 buu097-[SUCTF2019]hardcpp状态变量常量值与基本块的对应关系状态变量更新还原控制流程序修复进一步调试修复效果全局变量混淆去除 buu097-[SUCTF2019]hardcpp 这是一个简单的C程序,但带有大量的控制流平坦化混淆。下面我将从头开始编写用于解决此类混淆问…