jupyter notebook连接远程服务器
此方法可以通过本地浏览器访问远程服务器上的notebook。
1. 在远程服务器上打开ipython,保存哈希密码 1
2
3
4from notebook.auth import passwd
passwd()
#根据提示输入任意密码,如abcd,会得到如下输出,记录下来
#sha1:xxxxxxx~/.jupyter/
,查看是否有notebook的配置文件jupyter_notebook_config.py
,若没有的话直接创建:
1
2
3
4
5
6cat > jupyter_notebook_config.py
c = get_config()
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:xxxxx' # xxxx为上一步生成的哈希密码
c.NotebookApp.open_browser = False
c.NotebookApp.port = 5678 # 随机挑选数字 1
jupyter notebook --no-browser --port=5678
1
2
3
4
5
6
7
8ssh -N -f -L 127.0.0.1:1234:127.0.0.1:5678 user@address
#表示把本地的1234端口连接到远程服务器上的5678端口
-N 告诉SSH不执行远程命令,用于端口转发
-f 让SSH后台运行,也可以不设-f,前台运行
-L 出端口转发的配置,remote port 5678 -> local port 1234
#如果远程服务器不是通过22端口进行ssh连接,则可以通过 -p nnn 指定ssh的端口
#此命令会在后台执行,可以通过 kill 命令把对应的进程关闭localhost:1234
,输入第一步指定的密码abcd即可。