Ubuntu下配置OpenSSH+Jupyter Notebook实现从Windows的远程访问

目录

 

1. 开启OpenSSH服务(Ubuntu)

2. 配置Jupyter Notebook(Ubuntu)

2.1 生成配置文件

2.2 修改配置文件

2.3 启动Jupyter notebook

 3. 远程访问Ubuntu主机(Windows)


1. 开启OpenSSH服务(Ubuntu)

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。

                                                                                                                                                                           —— 百度百科

Ubuntu默认安装了ssh client端但是没有安装Server端,所以首先安装ssh-server服务。

1. 在Ubuntu主机端打开一个Terminal,输入以下命令

sudo apt-get install openssh-server

2. 验证SSH是否启动

ps -e |grep ssh

若显示以下内容说明开启:

[number] ? 00:00:00 sshd #number代表了进程编号

3. 查看Ubuntu主机IP地址信息

ifconfig

记录下上图中的两个ip地址。 

2. 配置Jupyter Notebook(Ubuntu)

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。

Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。               —— 百度百科

前提:已安装Anaconda(自带Jupyter notebook)

2.1 生成配置文件

打开一个Terminal,输入以下指令:

jupyter notebook --generate-config

运行后,会在~/.jupyter目录(当前用户)下生成一个名为jupyter_notebook_config.py的配置文件。

继续输入命令:

jupyter notebook password
Enter password:  *** (连接Jupyter notebook时的密码)
Verify password: ***
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

按路径找到这个json文件,将里面的hash密文复制下来。

.json包含密文,.py是配置文件

2.2 修改配置文件

不怎么会Vim....请直接文本编辑jupyter_notebook_config.py。打开文件后ctrl+F找到以下字段进行修改。

c.NotebookApp.ip='*'#任意IP都可访问
c.NotebookApp.password = u'sha:ce.......' # 这里粘贴刚才复制的那个密文
c.NotebookApp.open_browser = False #默认不打开浏览器
c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口

2.3 启动Jupyter notebook

开启jupyter notebook进程有两种方式:

1. 仅在当前terminal运行jupyter notebook进程

jupyter notebook

意味着一旦关闭这个terminal,那么jupyter notebook也下线了。

2. 将jupyter notebook进程放到后台运行(正解)

 如果要关闭的话,直接kill这个进程即可。

注意:所以长时间运行的程序都应该压到后台进程,详情参考:在Ubuntu下后台持续运行Python程序

进程开启后,打开浏览器,输入地址访问:(示例。总之格式就是"ip地址:端口")

注意:ip地址可能会因为路由器重启而改变,如有改变需自行ifconfig查看;解决这个问题的根本方法是静态ip,在此不赘述)

192.168.0.1:8890/tree

另外ipv6的地址是这样的,需要加方括号

  • ipv4访问范围:和主机处于同一局域网(WiFi)
  • ipv6访问范围:保证自己电脑能连接上ipv6的任意区域

可以开始愉快的使用Jupyter notebook了,进行.py的小修改,或者是开一个notebook实验各种代码。建议将其加入标签页,便于访问。

 3. 远程访问Ubuntu主机(Windows)

首先在Windows端下载安装Xshell,打开程序界面如下:

 接下来开始设置远程连接相关参数,

 

点击确认,双击会话即可连接到远程Ubuntu服务器的Terminal,完全等效于Linux下的Terminal。

执行2.3 启动Jupyter notebook,即可在自己的windows电脑上访问服务器端的jupyter notebook。

虽然过程略繁琐,但是一劳永逸地构建了科学的协同工作环境。

完成!

发布了5 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wyr_rise/article/details/89323675