本地主机访问服务器的Redis -- 配置 ssh 端口转发

前言

在进行Java开发时,高度的依赖 Windows 上的开发软件 idea ,那么我们想访问位于服务器上的 redis 怎么办呢?在平时我们想访问位于服务器上的程序,只需要开放它的端口即可,比如我们创建的网站,比如 tomcat 的8080 端口,但 reids 的 6379 端口我们能开放吗?答案是不能,因为 redis 的端口一旦开放,就非常容易被黑客攻击。

那么我们要如何在不开放 redis 端口的情况下,也能在本地主机访问服务器上的 redis 程序呢?方法有两个:

(1).直接让 Java 程序也在 Linux 服务器上运行

我们将 Java 程序打成 jar 包,然后把 jar 包拷贝到 Linux 服务器上运行,此时 Java 程序和 redis 位于同一个主机,就可以很方便的进行访问了。但这要我们每次调试都打 jar 包然后拷贝到 Linux 服务器上运行,非常的麻烦,所以不推荐

(2).配置 ssh 端口转发,把服务器的 redis 端口映射到本地主机

我们可以通过 ssh 将服务器上 redis 的 6397 端口映射到本地主机的 8888 端口,当我们在本地主机构造请求发送给 8888 端口时,ssh 会帮我们把请求转发给服务器的 6379 端口,也就是redis

ssh 协议

ssh 的全称是 Secure Shell ,它是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH 通过在网络中创建安全、加密的连接(也叫做"隧道")来工作。

ssh 协议默认在 22 端口,它的功能非常强大,其中一个很重要的功能就是支持端口转发,相当于可以通过 ssh 的 22 端口来转发其他端口的数据

我们通过简单的配置,让 ssh 明确本地主机上 8888 端口和云服务器 6379 端口之间的映射关系,当我们将请求发送给本地主机上的 8888 端口时,这个请求会由隧道转发给服务器上 ssh 的 22 端口,服务器上的 ssh 服务器程序会将该请求交给 6379 端口,也就是 redis。(ssh 可以帮多个端口转发信息,可以设置多个映射关系)

简单配置

软件:xshell

1.选中会话,右键,点击属性

2.在 ssh 目录下选择隧道

3.点击添加(添加映射关系)

4.设置转换规则(映射关系)

5.点击连接

6.检验连接情况

我们可以查看本地主机的 8888 端口的网络连接情况来判断是否连接成功

java 复制代码
netstat -ano|findstr 8888

如图代表已经连接成功

当我们把连接的 xshell 窗口关闭以后,连接便中断

连接成功以后,后续我们在 Java 代码中通过 127.0.0.1:8888 便能操作服务器的 redis 了,并且其他的客户端无法访问我们服务器的 redis

相关推荐
戴西软件5 分钟前
企业如何搭建自己的AI智能体?戴西智能体管理与戴西SKILL管理实战解析
运维·jvm·人工智能·自动化·rpa
wei0913015 分钟前
2026 企业 AI 办公工具选型指南:搭建 AI 与现有办公流程融合体系
大数据·运维·人工智能
ggaofeng16 分钟前
如何配置snat(让内网访问外网)和dnat(将外网请求转发到内网服务器)
运维·服务器·snat·dnat·局域网访问外网·外网访问局域网
yyuuuzz26 分钟前
云服务器搭建个人博客记录:一次访问超时的复盘
运维·服务器·数据库
自变量yjs33 分钟前
Linux --- 线程控制
linux·运维·服务器
陌上花开缓缓归以1 小时前
linux 内核4.4 内存分配使用分析
linux·运维·服务器
科技象限1 小时前
电脑防拍照系统:屏幕被手机拍走,还能追得回来吗
运维·网络安全·电脑·安企神
燕落南枝1 小时前
C 语言学习大总结:从入门到进阶的完整知识体系
服务器·c语言·学习
开开心心就好1 小时前
打印机卡住打不了?一键清理卡死打印队列
服务器·开发语言·算法·pdf·ocr·idea·visual studio code
茉莉玫瑰花茶1 小时前
GO [ 数据格式 ]
服务器·网络·算法·golang