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 |

后续补充

...

相关推荐
qq_4592384944 分钟前
SpringBoot整合Redis和Redision锁
spring boot·redis·后端
是姜姜啊!1 小时前
java连接redis
java·redis
ianozo2 小时前
CTF 代码学习日记 PHP
java·学习·php
斯普信专业组3 小时前
K8S下redis哨兵集群使用secret隐藏configmap内明文密码方案详解
redis·kubernetes·bootstrap
利瑞华3 小时前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
小金的学习笔记3 小时前
如何在本地和服务器新建Redis用户和密码
服务器·数据库·redis
听封3 小时前
Redis存在线程安全的问题吗?
数据库·redis·安全
张海森-1688205 小时前
MobaXterm通过ssh远程连接Ubuntu的方法
ubuntu·ssh
Urf_read5 小时前
微服务入门-笔记
redis·笔记·微服务
清风微凉 aaa6 小时前
Redis-03高级篇中-多级缓存:
数据库·redis·缓存