Putty设置SSH隧道,隧道和代理的原理区别(KIMI)

news/2025/10/11 14:51:45/文章来源:https://www.cnblogs.com/xiaoma2018/p/19132904

Putty设置SSH隧道,隧道和代理的原理区别(KIMI)

本文内容为和AI大模型KIMI的对话记录,仅供参考。


User: 我有一台服务器,用putty和winscp能够登录,但是jupyterlab启动后无法从笔记本的浏览器进入,应该如何设置?需要通过ssh隧道吗?
Kimi: 是的,在“只能 SSH 登录、无法直接打开 8888 端口”这种场景下,最省事也最安全的做法就是 建立 SSH 本地端口转发(隧道) ,无需改动服务器防火墙,也无需把 JupyterLab 暴露到公网。下面给出 Windows 下用 PuTTY / WinSCP 以及 命令行 两种常见方式的完整步骤,按任意一种配置完即可在笔记本浏览器里打开远程 JupyterLab。


一、服务器端(只需一次配置)

  1. 生成/修改配置文件

    jupyter lab --generate-config          # 会在 ~/.jupyter 下生成 jupyter_lab_config.py
    
  2. 建议设一个固定登录密码(比每次 token 方便)

    jupyter server password                # 按提示输入,会写入哈希值
    
  3. 启动时让 JupyterLab 只监听回环地址(127.0.0.1),避免公网直连:

    jupyter lab --no-browser --ip=127.0.0.1 --port=8888
    

    如果希望后台常驻,可写成 systemd 服务或 nohup ... &


二、笔记本端建立 SSH 隧道

  1. 图形界面:PuTTY
    ① 主界面填好服务器地址、端口 22 → 进入左侧菜单
    Connection → SSH → Tunnels
    ② Source port = 8888(本地随便定,未被占用即可)
    Destination = 127.0.0.1:8888
    ③ 选 Local 类型 → Add → 回到 Session 保存并 Open
    登录成功后 保持窗口开着,隧道即生效。

  2. 命令行(Windows PowerShell / CMD 均可)

    ssh -L 8888:127.0.0.1:8888 用户名@服务器IP
    

    成功登录后同样不要关闭窗口。


三、浏览器访问
打开本地浏览器,地址栏输入

http://localhost:8888

首次访问输入刚才 jupyter server password 设置的密码(或启动时给出的 token),即可进入远程 JupyterLab 界面。


四、排错小贴士

  • 本地 8888 被别的程序占用 → 把 -L 后的第一个 8888 改成 8889/8899 等,浏览器对应输入 localhost:8889

  • “Connection refused” → 确认服务器端 jupyter 监听在 127.0.0.1:8888;重新启动并查看日志。

  • SSH 会话频繁断 → 在 PuTTY 的 Connection → SSH → 右侧 “Seconds between keepalives” 填 30;命令行可在 ~/.ssh/config 里加

    ServerAliveInterval 60
    
  • 想用 token 而不是密码 → 启动后终端会给出 http://127.0.0.1:8888/?token=xxxx,复制 token 粘贴到浏览器即可。

采用以上隧道方案,服务器只需开放 22 端口,JupyterLab 本身不暴露在公网,既省防火墙配置又保证安全 。


User: SSH隧道的原理是什么?和代理有什么区别?

Kimi: 下面把 SSH 隧道(SSH Port Forwarding)拆成 3 句话先给出“是什么”,再画一张“数据流图”,最后把大家最容易混淆的“SSH 隧道 vs. 通用代理”做一张对照表,一眼就能看出来差别。


  1. 一句话原理
    “在已经建立的 SSH 会话里再开一条‘加密子通道’,把客户端某端口(或 socket)的数据原封不动转发到服务器侧任意地址:端口,中间所有流量走 22 端口且被 SSH 协议加密/解密,对应用层完全透明。”
  2. 数据流图(本地转发为例,访问远程 JupyterLab)

笔记本(浏览器)
↓ 1. HTTP 请求到本地回环 127.0.0.1:8888
↓ 2. 被 ssh 客户端截获 → 加密 → 走 22 端口
公网 / 防火墙
↓ 3. 到达服务器的 sshd → 解密
服务器内部
↓ 4. sshd 把明文转给 127.0.0.1:8888 的 jupyter-lab
↓ 5. 返回数据按同样路径反向流回浏览器

  1. 隧道 vs. 代理 对照表
维度 SSH 隧道 SOCKS/HTTP 代理
工作层级 传输层(TCP 四元组转发) 应用层(先告诉代理“我要去哪”,再发数据)
加密范围 端到 SSH 服务器(22 端口以内加密,出服务器后明文) 仅客户端↔代理之间加密与否取决于代理协议本身;SOCKS5 可以无加密
对应用是否透明 完全透明——应用以为自己在连本地端口 不透明——应用必须支持“代理”并主动告诉代理目标地址
能转发什么 任何基于 TCP 的单端口服务(RDP、MySQL、Jupyter…) SOCKS 可转发任意 TCP/部分 UDP,但应用得支持 SOCKS;HTTP 代理只能转发 HTTP(S)
配置位置 客户端一次性 ssh -L / putty 隧道 → 之后所有程序 0 改动 每个应用单独填写代理地址端口;系统级 PAC/全局代理才算“一次配置”
访问控制 只要 ssh 账号不泄露即可;服务器端不再开新端口 代理服务需要单独做认证、白名单、TLS 等
典型端口 22(对外),内部转发端口任意 1080(SOCKS)、3128/8080(HTTP)
多目标能力 一条隧道 = 一个“本地端口↔远程端口”映射;要转 N 个服务就开 N 条隧道 一条 SOCKS 隧道可同时转发 N 个任意目标,只需在应用里选 SOCKS 即可

结论速记

  • “端口转发”是 SSH 的内置小功能,借 22 端口把任意 TCP 流穿进去,对应用零改造;
  • “代理”是应用层协议,客户端必须主动说“帮我连某某地址”,转发更灵活但需要应用配合;
  • 如果你只是要把远程 8888 映射到本地 8888,用 SSH 隧道最简单,也不用再装额外代理软件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创新突破!天翼云TeleDB数据库通过中国信通院数据库迁移工具专项测试

近日,天翼云数据传输服务软件(DTS)依据《数据库迁移工具能力要求》,结合天翼云TeleDB数据库产品,顺利通过中国信息通信研究院(简称“中国信通院”)“可信数据库”数据库迁移工具专项测试。测试结果表明,天翼云…

Node.js基础库介绍与使用

Node.js 核心库是内置的、无需安装的模块,提供了文件操作(fs)、网络通信(http/https)、路径处理(path)、工具函数(util)、事件驱动(events)、流处理(stream)和加密(crypto)等基础功能,是其强大能力的基…

gaussdb常用操作 - 吾辈当奋斗

启停# root登录 su - gauss # 停止 gs_ctl stop # 启动 gs_ctl start# 单节点启动 su - gauss gssp# 不常用的操作 # 停止gaussdb gs_ctl stop -D 路径 # 启动gaussdb gs_ctl start -D 路径 # 重启gaussdb gs_ctl res…

Go语言熟练使用指南

掌握 Go 语言并达到熟练水平需要系统学习以下几个方面的内容: 一、语言基础核心基础语法和特性 变量声明:var vs 短声明 :=数据类型:基本类型、复合类型、类型转换 控制结构:if/else、for循环、switch 函数:多返回…

Webpack与Vite原理深度解析

好的,我们来深入浅出地解析一下 Webpack 和 Vite 的原理。这两者都是现代前端领域非常重要的构建工具,但它们的核心思想和实现方式有根本性的不同。 核心思想对比特性 Webpack Vite核心理念 Bundle(打包)。将所有模…

详细介绍:华为路由基础1

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

UMich EECS 498-007 / 598-005: Deep Learning for Computer Vision

UMich EECS 498-007 / 598-005: Deep Learning for Computer Vision 资源

IIS8.5 安装证书

问题:iis8.5 导入证书后消失(在IIS中不可见,在证书管理中可以看到,显示缺少私钥)。也可使使用工具查看证书的安装情况 解决方案:参考: openSSL 命令:openssl pkcs12 -export -out output.pfx \ -inkey server.…

2025南通婚纱摄影厂家最新推荐榜:匠心工艺与浪漫美学完美结合

2025婚纱摄影厂家最新推荐榜:匠心工艺与浪漫美学完美结合在当代婚庆消费升级的浪潮中,婚纱摄影行业正经历着深刻的变革。据行业数据显示,2024年中国婚纱摄影市场规模已突破千亿元,新人对婚纱照的需求从简单的场景记…

免费音乐软件,哔哔音乐 免费下载及安装!免费音乐播放器

软件介绍 哔哔音乐是一款基于 B 站音乐资源开发的开源免费音乐播放器,支持安卓和 PC 端。软件下载 哔哔音乐下载地址软件功能特点 操作便捷:软件无须注册登录,打开即可使用,界面简洁,主要有搜索、广场、歌单和设置…

多级缓存架构:性能与数据一致性的平衡处理(原理及优势详解+项目实战) - 教程

多级缓存架构:性能与数据一致性的平衡处理(原理及优势详解+项目实战) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-f…

微信社群开发

微信社群开发,微信机器人制作教程+源码,开发微信机器人/个微/WTAPI框架 微信个人号二次开发,开发微信机器人接口|微信个人号开发|接入指南 微信个人号二次开发,是完整的第三方服务平台,并基于IPAD协议8.0.57开发出…

IStringLocalizer突然失效?线程的“失忆症”

IStringLocalizer服务,配合中间件,根据请求头或Cookie来设置当前线程的语系(Culture)。 问题代码示例: public class HomeController : Controller {private readonly IStringLocalizer<HomeController> _l…

mysql设置最大连接数,MySQL最大连接数设置详解

为什么需要设置最大连接数? MySQL默认的最大连接数是151,这对于小型应用可能够用,但对于高并发场景远远不够。当连接数达到上限时,新的连接请求会被拒绝,出现"Too many connections"错误。了解如何合理…

c# 读取xml到datagridview

c# 读取xml到datagridviewpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

微信机器人API开放!手把手教你打造智能聊天机器人

微信机器人API开放!手把手教你打造智能聊天机器人 ​微信二次开发机器人接口开发,java之微信机器人二次开发,微信机器人制作教程API文档 接入指南 对接流程 1.申请api平台账号 2.开通接口权限 3.对接api 4.测试上线…

十二重计数法

Link,限制依次为: \(1\):球之间互不相同,盒子之间互不相同。 \(2\):球之间互不相同,盒子之间互不相同,每个盒子至多装一个球。 \(3\):球之间互不相同,盒子之间互不相同,每个盒子至少装一个球。 \(4\):球之间…

KLT就是Android中开一个线程是ULT还

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Java高手速成--吃透源码+手写组件+定制开发

/s/10rCdjsps17doYfmJKhBPjA 提取码:8l4r /s/1Ma6lU6jMzhfrh4OVD9C21A 提取码: 7sq3 在Java编程的浩瀚宇宙中,无数开发者日复一日地敲击着代码,却只有少数人能够穿越表象,抵达精通的彼岸。当“Java高手速成——吃透…

【Excel】账单数据分析(数据透视表的简单应用)

使用Excel分析csv账单数据1. 导入数据 有如下csv格式的账单数据,标有消费的类型和评价。 名称,时间,类型,评价,账户,金额 battery,2025-10-01,娱乐 ,合理 ,信用卡 ,5.00 petrol,2025-10-01,交通 ,合理 ,信用卡 ,227.0…