使用 ssh 实现从外网访问内网的jupyter notebook

本文介绍如何通过SSH端口转发技术,使位于内网环境的Jupyter Notebook能够被外网访问。具体步骤包括在本地执行SSH命令,将服务器上的Jupyter Notebook端口映射到本地端口,从而实现在外网环境下访问内网的Jupyter Notebook。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jupyter notebook 一般安装在内网环境,其端口一般不对外开放。想要实现从外网来访问。

假设:jupyter notebook所在服务器可以通过远程 ssh访问
假设,服务器地址为 222.111.xxx.xxx,而 jupyer 运行服务器上的8888端口上

在你本机,执行:

ssh -N -f -L localhost:7777:localhost:8888 username@222.111.xxx.xxx

username 为你远程登录服务器的用户名,之后输入登录密码就可以了。

之后,使用你本机的浏览器输入 http://localhost:7777 即可访问。

这个命令是通过ssh的管道把服务器上看到的 localhost:8888, 映射到你本机的 localhost:7777上

### 配置服务器实现外网访问 #### 1. NAT端口映射配置 为了使外部网络能够访问内部网络中的服务器,通常采用NAT(Network Address Translation)技术来完成内外网之间的地址转换。当使用Cisco Packet Tracer进行实验时,可以通过定义静态NAT规则指定特定的服务端口号对应到内网某台设备的具体服务上[^1]。 对于实际环境下的路由器配置,假设Web服务器位于私有子网中拥有`192.168.1.2`这样的本地IP地址,则需在外网出口处的防火墙或路由器上设定一条或多条PAT(Port Address Translation)记录,将来自Internet请求的目标公共IP加上相应的TCP/UDP端口转发给这台机器上的HTTP(S)监听进程[^4]。 ```bash ip nat inside source static tcp 192.168.1.2 80 interface GigabitEthernet0/0 80 ``` 此命令表示把进入广域网接口GigabitEthernet0/0并指向其公网IP第80号端口的数据包重定向至局域网内的`192.168.1.2`计算机开放相同编号的服务入口。 #### 2. Jupyter Lab远程访问设置 针对希望提供Jupyter Lab作为在线编程平台的情况,除了上述基本路由层面的操作之外,还需确保目标Linux系统已正确设置了SSH隧道或者直接开启了必要的web应用权限以便接受远端连接尝试。具体来说: - 创建一个新的无密码身份验证密钥对用于自动化登录过程; - 编辑`.jupyter/jupyter_notebook_config.py`文件加入如下几项参数调整[^2]: ```python c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.open_browser = False c.NotebookApp.port = 8888 ``` 这些更改使得notebook应用程序可以绑定所有可用网络接口,并关闭自动启动浏览器的行为同时固定工作端口为8888。 #### 3. 使用树莓派部署PHP Web Server 如果考虑基于ARM架构的小型计算板卡比如Raspberry Pi构建轻量级网站托管节点的话,那么安装LAMP(Linux Apache MySQL PHP)堆栈会是一个不错的选择。其中涉及到的关键步骤之一就是让NGINX web server支持解析执行PHP脚本程序[^3]。 首先更新软件源列表并下载最新版本的相关组件: ```bash sudo apt update && sudo apt upgrade -y sudo apt install nginx php7.3-fpm mariadb-server ``` 接着编辑默认站点配置文档 `/etc/nginx/sites-available/default`, 修改location区块以启用fastcgi_pass指令传递php请求给php处理器实例处理。 最后重启服务生效变更: ```bash sudo systemctl restart nginx.service php7.3-fpm.service ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值