通过SSH远程访问IPython笔记本

・2 分钟阅读

方案: 在本地计算机上,你希望打开,并且操作运行在远程计算机上的IPython notebook,我们将通过打开SSH隧道来做到这一点,此隧道将远程运行IPython实例所使用的端口转发到本地计算机上的端口,就像本地运行IPython实例一样。


在 远程计算机,启动IPython notebook服务器:

remote_user@remote_host$ ipython notebook --no-browser --port=8889

通常IPython打开浏览器来显示可用的笔记本,但是,我们不需要这样做,所以,我们使用这个选项,--no-browser,我们还将端口更改为8889,因为没有其他原因可以显示这是如何完成的。

在 本地计算机,启动SSH隧道:

local_user@local_host$ ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host

第一个选项 -N 告诉SSH不会执行远程命令,并且对于端口转发很有用,第二个选项 -f 有SSH将转到后台的效果,因此本地隧道启用终端保持可用,最后一个选项-L列出端口转发配置(远程端口8889到本地端口8888 )。

现在打开你 本地机器上的浏览器 键入地址栏

localhost:8888

显示你远程运行的IPython notebook服务器。


到 关闭本地计算机上的SSH隧道,查找进程,并且手动终止该进程:

 

local_user@local_host$ ps aux | grep localhost:8889
local_user 18418 0.0 0.0 41488 684? Ss 17:27 0:00 ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host
local_user 18424 0.0 0.0 11572 932 pts/6 S+ 17:27 0:00 grep localhost:8889

local_user@local_host$ kill -15 18418

或者,你可以启动隧道 如果没有-f选项,该进程将保持在前台,并且可以用ctrl-c

在 远程机器,杀死IPython服务器

Xajhqffl profile image