配置本地访问远程Linux系统服务器的jupyter notebook
环境情况
- 远程服务器上配置了anaconda
- 本地主机没有安装anaconda(其实安不安装都无所谓,有浏览器就行)
配置步骤如下
登录远程服务器
生成配置文件
jupyter notebook --generate-config生成密码
输入
ipython打开ipython生成密钥:In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274' #这段是密钥
把生成的密钥'sha1:ce2…'复制下来后面用,password是远程登录时需要输入的密码,要记住。
修改配置文件
使用vim打开配置文件
vim ~/.jupyter/jupyter_notebook_config.py修改如下地方:
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 #随便指定一个端口,但是要记住
c.NotebookApp.allow_remote_access = True
c.NotebookApp.notebook_dir = u'目录' #这个是根目录,不想配置就不配置,默认是用户家目录
启动jupyter notebook
正常启动:
jupyter notebook但是我们可能通常想要在后台启动jupyter,然后关闭终端,在本地电脑上用浏览器访问:
nohup jupyter notebook &远程访问
在本地打开浏览器访问
http://address_of_remote:8888就可以访问jupyter的登录界面了,输入密码就可以正常登录了。
意外情况
有些服务器可能只开放一个对外的端口,但是我们通过终端访问服务器需要一个对外端口,开启jupyter服务又需要一个端口,这样就需要同时占用两个端口才行。举个栗子,服务器为了保证安全性只开放了一个对外的端口,22号端口,我们使用终端通过22号端口登录到服务器上打开jupyter,jupyter创建的端口是8888号,但是服务器没有对外开放8888号端口,所以即使打开了jupyter,外面也无法正常访问。如果把jupyter的端口号改为22号,由于我们登录终端的时候正在占用22号,所以jupyter就会提示端口已被占用,无法创建。网上有很多教程说可以通过修改防火墙设置来开放端口,修改防火墙设置一般都需要管理员权限,但是通常我们使用服务器的时候大多数情况下是不可能有管理员权限的,这时候我们可以使用端口映射来解决这个问题。
首先登录终端打开jupyter,这时根据配置信息jupyter占用的是8888端口。
然后我们在本地上使用命令行输入:
ssh -N -f -L localhost:9999:localhost:8888 -p 端口号 username@远程地址例如
ssh -N -f -L localhost:9999:localhost:8888 -p 22 yzr@202.48.29.23这里说明一下:
locahost:9999是指本地地址,localhost:8888是指远程地址,其中8888是jupyter notebook中设置的端口号,-p 22是指登录服务器的端口号 后面是用户名和服务器ip。打开浏览器,输入
localhost:9999就可以看到jupyter notebook的登录界面了。
这里原理上就是将服务器上的8888端口映射到本机的9999端口。
配置本地访问远程Linux系统服务器的jupyter notebook的更多相关文章
- 本地主机访问远程linux系统服务器上的jupyter notebook
1,机器情况:服务器 centos python环境已经配置好了,在虚拟环境下安装了anaconda 并且在里面安装了jupyter notebook 2,主机是 windows ipytho ...
- PHPStorm.WebStrom等系列官方开发工具配置本地项目与运程服务器同步
PHPStorm.WebStrom配置本地项目与运程服务器同步 说明:PHPStorm.WebStrom等官方的系统开发工具配置本地项目与运程服务器同步的方法都基本一致没有,几乎没有什么不同之处,我们 ...
- 如何用 putty 连接远程 Linux 系统
如何用 putty 连接远程 Linux 系统 Putty 简介 Putty 是一个免费的.Windows x86 平台下的 Telnet.SSH 和 Rlogin 客户端,但是功能丝毫不逊色于商业的 ...
- Windows上管理远程Linux VPS/服务器文件工具 - winscp
Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...
- Windows系统下远程Linux系统
Windows系统下远程Linux系统 工具:Xmanager 启动界面: 配置保存路径(win7): C:\Users\Administrator\AppData\Roaming\NetSarang ...
- Linux—查看远程Linux系统运行时间
[选择题]在Shell环境下,如何查看远程Linux系统运行了多少时间? A.scp user@被监控主机ip "uptime" B.ssh user@被监控主机ip " ...
- 【转载】使用rdp协议访问远程Linux桌面
使用rdp协议访问远程Linux桌面 2017年03月31日 16:23:49 太阳之影 阅读数:2169 一般情况下,如果需要登陆远程Linux系统,我们会使用ssh/telnet来完成,如果需 ...
- Xshell访问本地或者远程Linux虚拟机
背景 在本地PC机上安装了VMware workstation和Ubuntu系统,但是每次访问虚拟机都需要输入登陆密码,比较不方便.为此,通过Xshell来访问虚拟机,提高工作效率. 步骤 1.打开虚 ...
- linux系统服务器可能被攻击的几种攻击方式
linux系统随着Linux企业应用的扩展,有大量的网络服务器使用Linux操作系统.Linux服务器的安全性能受到越来越多的关注,这里根据Linux服务器受到攻击的深度以级别形式列出,并提出不同的解 ...
随机推荐
- Rest_Framework简介
Web应用模式 在开发Web应用中,有两种应用模式:前后端不分离和前后端分离 前后端不分离 前后端不分离通俗来讲就是不区分前端和后端,浏览器请求时服务器直接返回页面,其示意图如下 前后端分离 前后端分 ...
- yum 安装 mongodb
1 .添加阿里源 vi /etc/yum.repos.d/mongodb.repo [mongodb-org] name=MongoDB Repository baseurl=http://mirro ...
- 上传文件夹 vue
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...
- input输入框如何只能输入非零开头的正整数
input输入框如何只能输入非零开头的正整数 ********* 废话不多说,先来代码 ********* case1: 原生html + javascript <body> <!- ...
- Android_(游戏)打飞机01:前言
(游戏)打飞机01:前言 传送门 (游戏)打飞机02:游戏背景滚动 传送门 (游戏)打飞机03:控制玩家飞机 传送门 (游戏)打飞机04:绘画敌机.添加子弹 传送门 (游戏)打飞机05:处理子弹, ...
- Zabbix连接
下载: wget https://fossies.org/linux/misc/zabbix-4.0.5.tar.gz 安装: https://www.cnblogs.com/sunbeidan/p/ ...
- HTML DOM的学习
请看下面的 HTML 片段: <html> <head> <title>DOM 教程</title> </head> <body> ...
- HTML5 localStorage setItem getItem removeItem
HTML5 WEB存储中提供了两种客户端的数据存储方法:localStorage 还有sessionStorage localStorage: localStorage 方法存储的数据没有时间限制.第 ...
- LeetCode 198. 打家劫舍(House Robber)LeetCode 213. 打家劫舍 II(House Robber II)
打家劫舍 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报 ...
- awk命令2
提取文件后四行 注释:NR==FNR表示第一个文件,执行{a++},计算出第一个文件10的行数,NR!=FNR表示第二个文件10,执行{if(FNR<=a-4){print $0}},打印出第二 ...