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 |

后续补充

...

相关推荐
莫得感情 o13 小时前
Redis 05 · 持久化:RDB 与 AOF 怎么保证数据不丢
redis·缓存
curd_boy15 小时前
【Redis】Redis从缓存到AI向量平台
人工智能·redis·缓存
莫得感情 o15 小时前
Redis 02 · 数据结构:String 到 Stream 怎么选
redis
devpotato16 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
sbjdhjd21 小时前
PHP eval 型 RCE:flag 正则过滤与通配符绕过实操 | 01
安全·web安全·网络安全·开源·系统安全·php·网络攻击模型
NeverFear79221 小时前
【黑马点评】短信登录
java·redis·tomcat·intellij-idea
攻城有术1 天前
专项攻克——重写 Redis 依赖包方法的 6 种实现方式
java·数据库·redis·bootstrap
spencer_tseng1 天前
kylin redis-6.2.14.tar.gz
linux·redis·kylin·edis-6.2.14
xbgRS1 天前
Redis基本概念及应用
redis·缓存
草莓熊Lotso1 天前
【Redis 初阶】特殊数据类型、渐进式遍历与数据库操作生产指南
linux·网络·数据库·redis·tcp/ip·缓存·bootstrap