本地使用远程服务器的jupyter notebook 以及其他问题记录

在网上查找了很多资料,试了很多方法,踩了不少坑,现在记录下最终的可行方案。

主要参考这2篇:https://cloud.tencent.com/developer/article/1488507

                         https://www.cnblogs.com/qiangzi0221/p/8933722.html

1、生成配置文件,有的服务器是已经生成了配置文件,这步就可以省略。root用户需要加上--allow-config.

$:jupyter notebook --generate-config   # jupyter notebook --generate-config --allow-config

2、生成密钥,打开python解释器

$:python

>>>from notebook.auth import passwd

>>>passwd()

#输入新的登陆密码(本地访问的时候使用)

#再次确认

#生成key,复制留存并修改到配置文件中去

 比如我生成的key是 : 'sha1:69a5200a8cca:fc886d755620d9ddaec077439ca272fg048ec416'

3、采用 SSL 加密通信(非必要)

输入下面的命令,会让你输入一些地理位置信息,这些可以随便填

$:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem

 完成后输出以下命令

$:jupyter notebook --certfile=mycert.pem --keyfile mykey.key

 4、修改配置文件,就是第一步中生成的配置文件的路径。

$:vim  ~/.jupyter/jupyter_notebook_config.py

在配置文件中修改 或者直接添加:

# 证书的信息
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
# ip 设置为 *
c.NotebookApp.ip = '*' # 这里设置成'0.0.0.1' 也可以 我就是这样的 或者 '服务器IP'
c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>'
c.NotebookApp.open_browser = False # 不打开浏览器,后台运行

# 设置一个固定的接口
c.NotebookApp.port = 49999

5、最后一步,在服务端开启notebook

$ jupyter notebook

6、 此时notebook已经打开,回到自己本机,需要先建立一次ssh连接,不然有的服务器会拒绝

$:ssh username@address -L 127.0.0.1:1234:127.0.0.1:8888
$:ssh username@address -p 800 -L 127.0.0.1:1234:127.0.0.1:49999

username是你远程服务器账号的名字,address是服务器的ip地址 ,如果服务器开放端口不是默认的22 ,比如是800,那就在adress后面添加 -p 800,127.0.0.1:1234是本地映射的地址和端口,127.0.0.1:49999是远程服务器的地址和端口.

现在就可以在自己浏览器中输入  localhost:1234 直接访问远程的 jupyter notebook了 或者 127.0.0.1:1234。

另外,windows用户无法用cmd使用ssh话,参考我这篇配置下ssh服务。

window 下用cmd使用ssh 教程(踩的坑总结)https://blog.csdn.net/qq_26593695/article/details/104533592

_________________________________________________________________

2020年7月4日 

这里再补充各坑,是最近发现的

我有次重新连却连不上了,所以重新配置,但是发现还是没用,一直以为是SSH密匙问题。

报错:SSL Error on 14 ('127.0.0.1', 36136): [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:645)

后来解决是看了这篇:https://blog.csdn.net/jjwho/article/details/75098295

再访问的地址前面加上https://xxx 即可

 

---------------------------------------------------

2021年3月26日

解决使用tab健却没有代码补全提示的问题,需要卸载 jedi包

pip uninstall jedi --yes

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值