本地主机访问服务器的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

相关推荐
(:满天星:)4 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
小陶来咯4 小时前
【仿muduo库实现并发服务器】Acceptor模块
运维·服务器
爱莉希雅&&&5 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊5 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
cui_hao_nan5 小时前
Docker后端部署
运维·docker·容器
ZZH1120KQ5 小时前
Linux系统安全及应用
linux·运维·系统安全
小扎仙森6 小时前
关于服务器宝塔转移wordperss子比主题问题
运维·服务器
小小小糖果人6 小时前
Linux云计算基础篇(5)
linux·运维·服务器
我不是哆啦A梦6 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
weixin_7714323116 小时前
linux系统 weblogic10.3.6(jar) 下载及安装
linux·运维·jar