服务器jupyter配置与ssh远程登录
jupyter 配置
首先安装jupyter,在anaconda套装中已包含,如果安装的是精简版的miniconda则通过conda install jupyter
安装。
生成配置文件
jupyter notebook --generate-config
打开ipython,生成密钥
from notebook.auth import passwd
passwd()
输入两遍密码后生成sha1码。
编辑文件~/.jupyter/jupyter_notebook_config.py
,进行如下设置
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False # 禁止自动打开浏览器
c.NotebookApp.password = u'sha1:98f5...' # 复制刚才python中生成的密文
c.NotebookApp.port = 18888 # 指定一个端口
远程登录设置
首先要在服务器上启动jupyter
服务
jupyter notebook
在本地使用ssh隧道连接进行本地端口转发
ssh -N -f -L localhost:8888:localhost:18889 remote_user@remote_host
其中,-N
表示不需要执行任何命令,仅仅做端口转发。-f
表示后台运行。-L
表示本地映射转发,选项值代表ssh客户端和服务端转发的端口,这里选取8888为本地jupyter监听端口。remote_user@remote_host
用实际的远程帐户和远程地址替换。
打开浏览器,地址栏输入localhost:8888
即可连接jupyter。
其它事项
- 端口选取。选取1024-65535之间的并且尚未使用的端口号即可。
- 必须保持这个 SSH 连接以使端口转发保持生效。
- 关于端口的本地转发与远程转发:应用的连接方向与ssh连接方向相同则为本地转发,否则为远程转发。这里jupyter应用和ssh均为本地到服务器,因此使用本地转发。有时需要中间机器进行逆向ssh连接,那么应使用
-R
选项进行远程转发。