SSH 端口转发实现 Jupyter Notebook 远程连接服务器

SSH 端口转发实现 Jupyter Notebook 远程连接服务器

说明

本博客用于记录本人利用 SSH 端口转发实现 Jupyter Notebook 远程连接服务器的方法。

问题描述

最近学校服务器频繁被入侵,网络中心为了防范病毒入侵和恶意程序扫描等,给机房防火墙设置了端口屏蔽功能,只留下一些常用端口,如SSH、HTTP等。由于 Jupyter Notebook 运行机制需要启动一个服务并监听一个特定的端口,此时就无法直接通过该端口访问 Jupyter Notebook。因此这里使用 SSH 端口转发功能实现 Jupyter Notebook 远程连接服务器。

解决方案

  1. SSH 端口转发
    SSH 端口转发功能可以将本地的一个端口号映射到目标机的另一个端口号。这里使用 ssh 命令的 -L 参数来实现,其格式为:

    ssh -L 本地地址:本地端口:目标地址:目标端口 用户名@跳板机地址
    

    其中,本地地址通常就是本机,可以直接忽略,默认为 localhost。需要注意的是,这里的目标地址是相对跳板机而言的,如果目标地址跳板机地址一致,则目标地址直接填 localhost。

    举个例子,假设现在要使用本地端口 123 映射到目标机(usrname@196.5.233.1xx)端口号 345,不借助额外的跳板机,则只需要在本地开一个终端,执行如下命令:

    ssh -L 123:localhost:345 usrname@196.5.233.1xx
    

    此时,本地终端会登录到 usrname@196.5.233.1xx,保持该终端的登录状态即可实现端口映射,即在本地访问 localhost:123 等价于访问 196.5.233.1xx:345。

  2. 连接测试
    利用上述 SSH 端口转发命令,就可以将原本 Jupyter Notebook 的服务监听端口映射为本地的某个端口号,避免直接访问被防火墙屏蔽的端口号。假设上述 345 端口号是 Jupyter Notebook 的监听端口号,则开一个本地终端来执行上述命令之后,在浏览器中访问 localhost:123 就可以达到 基于SSH 端口转发实现 Jupyter Notebook 远程连接服务器 的目的。

    值得注意的是,上述端口转发是建立在 目标机相应服务已经在监听目标端口了 的基础上。即,使用上述命令时,要先确保服务器上的 Jupyter Notebook 已经在运行了,并且监听的是映射的目标端口号。如果对 Jupyter Notebook 远程连接服务器 不了解的话,可以参考 here

  3. 参考资料
    [1] SSH 端口转发玩转
    [2] SSH 隧道端口转发实现Jupyter Notebook远程访问服务器

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过以下步骤远程连接服务器上的 Jupyter Notebook: 1. 在服务器上安装 Jupyter Notebook。如果您使用的是 Anaconda 发行版,可以运行以下命令安装: ``` conda install jupyter ``` 2. 在服务器上启动 Jupyter Notebook 服务器。在终端中运行以下命令: ``` jupyter notebook --no-browser --port=<PORT> ``` `<PORT>` 是您希望 Jupyter Notebook 服务器监听的端口号。默认端口号为 8888。 3. 在本地计算机上安装 Jupyter Notebook。同样,如果您使用的是 Anaconda 发行版,可以运行以下命令安装: ``` conda install jupyter ``` 4. 在本地计算机上使用 SSH 命令将服务器端口转发到本地。运行以下命令: ``` ssh -N -f -L localhost:<LOCAL_PORT>:localhost:<SERVER_PORT> <USERNAME>@<SERVER_IP> ``` `<LOCAL_PORT>` 是您本地计算机上用于访问 Jupyter Notebook 的端口号,`<SERVER_PORT>` 是服务器Jupyter Notebook 服务器的端口号,`<USERNAME>` 是您在服务器上的用户名,`<SERVER_IP>` 是服务器的 IP 地址。 5. 在本地计算机的浏览器中访问 `localhost:<LOCAL_PORT>`。您将能够通过 Jupyter Notebook 界面远程连接服务器,并在本地计算机上编辑和运行代码。 请注意,为了安全起见,您可能还需要设置密码来保护 Jupyter Notebook 服务器。可以通过运行以下命令在服务器上设置密码: ``` jupyter notebook password ``` 然后,您将被要求输入密码并确认。设置密码后,每次访问 Jupyter Notebook 时都需要输入该密码。 希望这可以帮助到您!如果您有任何其他问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值