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 |

后续补充

...

相关推荐
想用offer打牌9 分钟前
面试官问:Redis和MySQL数据一致,为什么还需要MySQL?🤠
数据库·redis·mysql
CRMEB定制开发26 分钟前
PHP 打印扩展开发:从易联云到小鹅通的多驱动集成实践
php·小程序源码·商城源码·微信商城·php商城源码
chen.@-@27 分钟前
后端下载限速(redis记录实时并发,bucket4j动态限速)
数据库·redis·缓存
Bruce_Liuxiaowei29 分钟前
PHP文件包含漏洞详解:原理、利用与防御
开发语言·网络安全·php·文件包含
家庭云计算专家1 小时前
飞牛云一键设置动态域名+ipv6内网直通访问内网的ssh服务-家庭云计算专家
运维·云计算·ssh·nextcloud·ddns·动态域名解析
呼拉拉呼拉1 小时前
Redis高可用架构
数据库·redis·架构·高可用架构
用户79117724235832 小时前
黑马点评【基于redis实现共享session登录】
java·redis
观无3 小时前
redis分布式锁
数据库·redis·分布式
颜淡慕潇3 小时前
Redis 实现分布式锁:深入剖析与最佳实践(含Java实现)
java·redis·分布式
CV点灯大师3 小时前
C++算法训练营 Day10 栈与队列(1)
c++·redis·算法