说明
本博客用于记录本人利用 SSH 端口转发实现 Jupyter Notebook 远程连接服务器的方法。
问题描述
最近学校服务器频繁被入侵,网络中心为了防范病毒入侵和恶意程序扫描等,给机房防火墙设置了端口屏蔽功能,只留下一些常用端口,如SSH、HTTP等。由于 Jupyter Notebook 运行机制需要启动一个服务并监听一个特定的端口,此时就无法直接通过该端口访问 Jupyter Notebook。因此这里使用 SSH 端口转发功能实现 Jupyter Notebook 远程连接服务器。
解决方案
-
SSH 端口转发
SSH 端口转发功能可以将本地的一个端口号映射到目标机的另一个端口号。这里使用 ssh 命令的 -L 参数来实现,其格式为:ssh -L 本地地址:本地端口:目标地址:目标端口 用户名@跳板机地址
其中,本地地址通常就是本机,可以直接忽略,默认为 localhost。需要注意的是,这里的目标地址是相对跳板机而言的,如果目标地址和跳板机地址一致,则目标地址直接填 localhost。
举个例子,假设现在要使用本地端口 123 映射到目标机(usrname@196.5.233.1xx)端口号 345,不借助额外的跳板机,则只需要在本地开一个终端,