【记录踩坑】配置本地访问远程Linux系统服务器的jupyter notebook

https://zhuanlan.zhihu.com/p/75354006

配置步骤如下
2. 生成配置文件

jupyter notebook --generate-config
3. 生成密码

输入ipython打开ipython生成密钥:

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: ‘sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274’ #这段是密钥
把生成的密钥’sha1:ce2…’复制下来后面用,password是远程登录时需要输入的密码,要记住。

  1. 修改配置文件

使用vim打开配置文件

vim ~/.jupyter/jupyter_notebook_config.py

修改如下地方:

c.NotebookApp.ip = ‘*’
c.NotebookApp.password = u’sha:ce…刚才复制的那个密文’
c.NotebookApp.open_browser = False
c.NotebookApp.port = 5555 #随便指定一个端口,但是要记住
c.NotebookApp.allow_remote_access = True
c.NotebookApp.notebook_dir = u’目录’ #这个是根目录,不想配置就不配置,默认是用户家目录
5. 启动jupyter notebook

正常启动:

jupyter notebook

但是我们可能通常想要在后台启动jupyter,然后关闭终端,在本地电脑上用浏览器访问:

nohup jupyter notebook &

  1. 远程访问

在本地打开浏览器访问http://address_of_remote:5555就可以访问jupyter的登录界面了,输入密码就可以正常登录了。

意外情况

有些服务器可能只开放一个对外的端口,但是我们通过终端访问服务器需要一个对外端口,开启jupyter服务又需要一个端口,这样就需要同时占用两个端口才行。举个栗子,服务器为了保证安全性只开放了一个对外的端口,1222号端口,我们使用终端通过1222号端口登录到服务器上打开jupyter,jupyter创建的端口是7778号,但是服务器没有对外开放7778号端口,所以即使打开了jupyter,外面也无法正常访问。如果把jupyter的端口号改为1222号,由于我们登录终端的时候正在占用1222号,所以jupyter就会提示端口已被占用,无法创建。网上有很多教程说可以通过修改防火墙设置来开放端口,修改防火墙设置一般都需要管理员权限,但是通常我们使用服务器的时候大多数情况下是不可能有管理员权限的,这时候我们可以使用端口映射来解决这个问题。

首先登录终端打开jupyter,这时根据配置信息jupyter占用的是8888端口。
2. 然后我们在本地上使用命令行输入:

ssh -N -f -L localhost:9999:localhost:8888 -p 端口号 username@远程地址

例如:

ssh -N -f -L localhost:5555:localhost:7778 -p 1222 shwang@202.48.29.23

这里说明一下:locahost:9999是指本地地址,localhost:8888是指远程地址,其中8888是jupyter notebook中设置的端口号,-p 22是指登录服务器的端口号 后面是用户名和服务器ip。

3.打开浏览器,输入localhost:5555就可以看到jupyter notebook的登录界面了。

这里原理上就是将服务器上的7778端口映射到本机的5555端口。


最后,我电脑本地自带的cmd不能访问ssh

但是我下载的cmder可以

有知道怎么解决的同学麻烦教教我呀~

https://www.bbsmax.com/A/MyJx7Xe1zn/
↑ 这个是用git

1.安装git

https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

2.安装完成后,在任意地方右击,选择“Git Bash Here”
3.在git bash下依次输入如下命令:

cd ~/.ssh:进入c盘下的.ssh文件,如果文件不存在,则执行“mkdir ~/.ssh”新建文件

配置全局的name和email,这里是的你github或者bitbucket的name和email:

git config --global user.name “用户名”:

git config --global user.email “邮箱”
生成key:

ssh-keygen -t rsa -C"邮箱"

连接远程服务器:

ssh root@远程服务器的ip地址

这时,会提示你输入密码,密码是不可见的,你只管输入后按回车就行
cmd:
ssh xxx@caiyunl.com -p 22 -i D:\id_rsa

git bash:(jupyter)
ssh -N -f -L localhost:9998:localhost:7780 -p 1222 xxx@caiyu.com -i D:\id_rsa

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值