跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

如何利用Ssh构建本地安全端口转发隧道平滑传输Redis数据

正确写法是ssh -f -N -L 6380:127.0.0.1:6379 user@redis-server-ip -p 22,其中-L指定本地6380端口转发至远程Redis的127.0.0.1:6379,-f-N使隧道后台运行,需确保Redis绑定127.0.0.1且SSH可达。 直接用 SSH 本地端口转发,就能把远程 Redis 的 6379 端口安全地“拉”到你本地,整个过程加密、无需改 Redis 配置,也不暴露服务到公网。 本地端口转发的核心命令 在你自己的电脑(客户端)上执行这条命令: ssh -f -N -L 6380:127.0.0.1:6379 user@redis-server-ip -p 22 说明: -L 6380:127.0.0.1:6379 :表示监听本地 6380 端口,所有发往它的请求,都会经 SSH 加密后,转给 redis-server 上的 本机 6379 端口(即 Redis 实际监听地址) -f -N :让 SSH 后台运行,只建隧道不启 shell,适合长期保持连接 如果 Redis 只绑定了
127.0.0.1
(常见默认),这个写法才有效;若它监听的是
0.0.0.0
,也可写成
redis-server-ip:6379
确保 Redis 服务可被隧道访问 Redis 本身不需要开放外网,但需满足两个前提: SSH 登录用户在 Redis 服务器上有权限,并且能访问本地 Redis 进程(比如同属一个用户,或 Redis 配置了
bind 127.0.0.1
+
protected-mode yes
时,本地 socket 或 TCP 均可) Redis 未启用 requirepass 以外的强认证(如 ACL),否则客户端连接时需显式提供密码 防火墙允许该用户通过 22 端口建立 SSH 连接(这是唯一需要放行的端口) 连接并验证隧道是否生效 隧道启动后,用任意 Redis 客户端连本地 6380 即可: Redis 8.2.3 Redis 8.2.3 是一款安全优先的高性能键值存储系统。该版本紧急修复了可能引发远程代码执行(RCE)的高危漏洞(CVE-2025-62507),并解决了 HyperLogLog 及 Cuckoo Filter 等数据结构在特定场景下的崩溃问题。建议所有用户立即升级,以保障生产环境的系统稳定与数据安全。 下载 redis-cli -h 127.0.0.1 -p 6380 -a your_password 或者 Python 示例: import redisconn = redis.Redis(host='127.0.0.1', port=6380, password='your_password', decode_responses=True)conn.set('test', 'ok')print(conn.get('test')) 若返回
ok
,说明数据已通过加密隧道平滑传输。 进阶建议:提升稳定性与安全性 生产环境推荐加几个参数: -C :启用压缩,小包传输更高效 -g :允许其他设备(如局域网内另一台机器)访问本地转发端口(默认只限 127.0.0.1) 配合 autossh :自动重连断开的隧道,避免手动维护 使用密钥登录 :禁用密码认证,提升 SSH 层安全性

相关文章