Redis - php通过ssh方式连接到redis服务器

1.应用场景

|-------------------------------------|
| 主要用于使用php通过ssh方式连接到redis服务器,进行一些操作. |

2.学习/操作

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ## 1.文档阅读 > chatgpt > & 其他资料 > SSH - 学习与实践探究_ssh应用场景 ## 2.整理输出 ### 2.1 是什么 > TBD ### 2.2 为什么需要「应用场景」 > TBD ### 2.3 什么时候出现「历史发展」 > TBD ### 2.4 怎么实践 > TBD #### php 通过ssh方式连接到redis服务器 > 要通过 SSH 方式连接到 Redis 服务器,可以使用 PHP 的 ssh2 扩展和 Redis 扩展。 > 首先,需要安装 ssh2 扩展和 Redis 扩展。可以使用以下命令安装: > sudo apt-get install libssh2-1-dev > sudo pecl install ssh2 redis > 安装完成后,在 PHP 中加载这两个扩展: > extension=ssh2.so > extension=redis.so > 然后,可以使用以下 PHP 代码连接到 Redis 服务器: > php > <?php > // SSH 连接参数 > $ssh_host = 'ssh_host'; > $ssh_port = 22; > $ssh_user = 'ssh_user'; > $ssh_pass = 'ssh_pass'; > > // Redis 连接参数 > $redis_host = '127.0.0.1'; > $redis_port = 6379; > $redis_auth = 'redis_auth'; > > // SSH 连接 > $ssh = ssh2_connect($ssh_host, $ssh_port); > ssh2_auth_password($ssh, $ssh_user, $ssh_pass); > > // Redis 连接 > $redis_sock = ssh2_tunnel($ssh, $redis_host, $redis_port); > $redis = new Redis(); > $redis->connect('127.0.0.1', $redis_port); > $redis->auth($redis_auth); > > // 使用 Redis > $redis->set('foo', 'bar'); > echo $redis->get('foo'); > > // 关闭 Redis 连接 > $redis->close(); > > // 关闭 SSH 连接 > ssh2_exec($ssh, 'echo "done"'); > ssh2_exec($ssh, 'exit'); > ?> > > 以上代码中,首先通过 SSH 连接到 Redis 服务器,然后使用 Redis 扩展连接到 Redis 服务器。可以像使用本地 Redis 一样使用 $redis 对象来进行 Redis 操作。 > 需要注意的是,SSH 连接和 Redis 连接都需要进行关闭,可以使用 ssh2_exec()$redis->close() 方法来关闭连接。 #### php 通过ssh 证书方式连接到redis服务器 > 要通过 SSH 证书方式连接到 Redis 服务器,可以使用 PHP 的 ssh2 扩展和 Redis 扩展。 > 首先,需要使用 ssh-keygen 命令生成 SSH 密钥对。可以使用以下命令生成密钥对: > ssh-keygen -t rsa -b 2048 -f mykey > 其中,-t 参数指定密钥类型为 RSA,-b 参数指定密钥长度为 2048 位,-f 参数指定密钥文件名为 mykey。 > 生成密钥对后,需要将公钥添加到 Redis 服务器的 authorized_keys 文件中,以允许通过 SSH 证书方式连接。可以使用以下命令将公钥添加到 authorized_keys 文件中: > cat mykey.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" > 其中,mykey.pub 是公钥的文件名,user@server 是 Redis 服务器的用户名和 IP 地址。 > 然后,在 PHP 中使用以下代码连接到 Redis 服务器: > php > <?php > // SSH 连接参数 > $ssh_host = 'ssh_host'; > $ssh_port = 22; > $ssh_user = 'ssh_user'; > $ssh_key = 'mykey'; > > // Redis 连接参数 > $redis_host = '127.0.0.1'; > $redis_port = 6379; > $redis_auth = 'redis_auth'; > > // SSH 连接 > $key = new \ssh2\RSA(); > $key->load(file_get_contents($ssh_key)); > $ssh = ssh2_connect($ssh_host, $ssh_port); > ssh2_auth_pubkey_file($ssh, $ssh_user, $ssh_key . '.pub', $key); > > // Redis 连接 > $redis_sock = ssh2_tunnel($ssh, $redis_host, $redis_port); > $redis = new Redis(); > $redis->connect('127.0.0.1', $redis_port); > $redis->auth($redis_auth); > > // 使用 Redis > $redis->set('foo', 'bar'); > echo $redis->get('foo'); > > // 关闭 Redis 连接 > $redis->close(); > > // 关闭 SSH 连接 > ssh2_exec($ssh, 'echo "done"'); > ssh2_exec($ssh, 'exit'); > ?> > > 以上代码中,首先加载私钥文件,并通过 SSH 连接到 Redis 服务器。然后使用 Redis 扩展连接到 Redis 服务器。可以像使用本地 Redis 一样使用 $redis 对象来进行 Redis 操作。 > 需要注意的是,SSH 连接和 Redis 连接都需要进行关闭,可以使用 ssh2_exec()$redis->close() 方法来关闭连接。 后续补充 ... |

3.问题/补充

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| #### 1. 通过ssh方式连接到redis服务器 服务器自身上的redis server 另外独立的服务器的redis server |

后续补充

...

相关推荐
进击切图仔39 分钟前
新装 Ubuntu 20.04.6 中安装 ssh.server 功能
linux·ubuntu·ssh
上海合宙LuatOS1 小时前
LuatOS ——fota 升级教程
开发语言·人工智能·单片机·嵌入式硬件·物联网·php·硬件工程
AI量化价值投资入门到精通1 小时前
数据清洗:大数据领域的必备技能
大数据·开发语言·ai·php
1104.北光c°1 小时前
【黑马点评项目笔记 | 商户查询缓存篇】基于Redis解决缓存穿透、雪崩、击穿三剑客
java·开发语言·数据库·redis·笔记·spring·缓存
ALex_zry1 小时前
Redis Cluster 故障转移与高可用实践
数据库·redis·wpf
Re.不晚1 小时前
Redis入门--基础语法大全
数据库·redis·bootstrap
難釋懷2 小时前
优惠卷秒杀库存超卖问题分析
redis·缓存
pp起床2 小时前
【苍穹外卖】Day05 Redis快速入门
数据库·redis·缓存
小邓睡不饱耶4 小时前
基于Spark GraphX构建用户信任网络:精准定位高价值目标用户
大数据·spark·php
三水不滴12 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存