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

Jupyter Notebook 远程连接服务器 (mac os)

远程连接

1 需要在服务器端安装jupyter NoteBook;

pip install jupyter

        但是我安装时出了些问题,使用了如下的命令:

python -m pip install --upgrade pip # 更新了pip

python -m pip install jupyter

2 并通过配置文件进行相应参数的设置;

jupyter notebook --generate-config

        生成的配置文件(一般配置文件的位置 ~/.jupyter/jupyter_notebook_config.py ,但是我的没有在根目录下:/home/yanzhou/.jupyter/jupyter_notebook_config.py),后面需要用到(要把目录记录下来);

3 生成密码(后续写配置文件、登录Jupyter notebook需要,需要输入一大堆东西)(需要把密码记录下来

        服务器上打开python终端;

        输入:

>>> from IPython.lib import passwd
>>> passwd()

        会让输入密码和确认密码;

        执行完之后退出python终端,具体命令为:exit()

4 接下来生成秘钥:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

        会生成一串密钥,记录下来,后面设置要用

创建一个服务器配置:

ipython profile create nbserver

5 修改默认配置文件

# vim ~/.jupyter/jupyter_notebook_config.py
vim home/yanzhou/.jupyter/jupyter_notebook_config.py

        记住地址要改成上面记录的,我的就不是在根目录下!!       

        文件内容如下:

c.NotebookApp.ip='*'
c.NotebookApp.password = u'XXX:xxxxxxxxxxx(上一步生成的密文, 直接复制过来就行)'
c.NotebookApp.port = 9999	#随便指定一个闲置端口,默认是8888
c.NotebookApp.open_browser = False	#禁止自动打开浏览器
c.NotebookApp.allow_remote_access = True	#远程访问
c.NotebookApp.allow_root = True

 6 启动Jupyter Notebook

jupyter notebook

运行成功的话会出现以下输出:

[W 08:22:27.343 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 08:22:27.345 NotebookApp] Serving notebooks from local directory: /home/yanzhou
[I 08:22:27.346 NotebookApp] Jupyter Notebook 6.4.12 is running at:
[I 08:22:27.346 NotebookApp] http://instance-52cdozv7:8888/
[I 08:22:27.346 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

7 然后使用本地主机的浏览器远程访问;

        访问方式:

本机浏览器输入:

ip:port

        这个ip 是服务器的ip地址;

        port 是在第6步的端口号,我这里是8888;

但是我直接用浏览器访问,访问不成功,可能是服务器防火墙的设置问题,此时最简单的方法是在本机设置一个ssh通道;

        在本机终端输入:

ssh -N -f -L localhost:8890:localhost:8888 用户名@服务器的ip地址

         -N 告诉SSH没有命令要被远程执行;

        -f 告诉SSH在后台执行;

        -L 是指定port forwarding的配置;

        远端端口是8888,本地的端口号的8890;

    之后再打开本机的浏览器,在浏览器输入:

http://localhost:8890/

然后输入最最初(第三步)设置的密码,然后就能正常访问了;

参考: 使用 jupyter notebook 连接服务器_Ronnyz的博客-CSDN博客

            https://www.jianshu.com/p/0ab504b853a5

相关文章:

  • 中国电信5G技术承载网络
  • 【程序填空】表达式计算(栈应用)C++
  • 朴素贝叶斯关于naivebayes包核函数等
  • 泛型的详解
  • 数据填报系统可有效解决业务部门哪些问题?_光点科技
  • 【Web基础】FilterListener
  • 【数模】数模入门与常用算法汇总
  • 【深度学习100例】—— 使用pytorch实现LSTM自动AI作诗(藏头诗和首句续写)| 第6例
  • Linux的开发工具
  • Cadence Allegro Vertex功能介绍使用方法Vertex与Slide的区别图文教程
  • Qt5开发从入门到精通——第九篇六节( Qt5 文件及磁盘处理—— 监视文件和目录变化)
  • 接收节点无线广播发送的数据,并printf打印出来(含核心代码)_物联网挑战赛第四届第一题
  • 【CSDN:国庆活动】——“问答”里的成长记录
  • WEB安全之DIV CSS基础(四):三种定位和堆叠顺序
  • C++ -------- 类型转换
  • 【翻译】babel对TC39装饰器草案的实现
  • 77. Combinations
  • Apache Pulsar 2.1 重磅发布
  • flask接收请求并推入栈
  • java 多线程基础, 我觉得还是有必要看看的
  • Java 内存分配及垃圾回收机制初探
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Webpack 4x 之路 ( 四 )
  • 前端面试之闭包
  • 设计模式(12)迭代器模式(讲解+应用)
  • 使用agvtool更改app version/build
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 我从编程教室毕业
  • 我的面试准备过程--容器(更新中)
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)STL算法之遍历容器
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (第61天)多租户架构(CDB/PDB)
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计大学生兼职系统
  • (论文阅读40-45)图像描述1
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (算法)前K大的和
  • (循环依赖问题)学习spring的第九天
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .gitignore文件—git忽略文件
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core 项目指定SDK版本
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Framework杂记
  • .NET MVC第三章、三种传值方式
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅