- 背景
如果有2台服务器.109、110
在109服务器上使用ssh 192.168.2.110登陆110服务器时, 每次登陆都需要密码。
- 解决方案
- 创建密钥
密要地址:// 在109服务器创建密钥 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
- 发送公钥
这个秘钥存放在了110服务器的 ~/.ssh/authorized_keys文件中 用户是root// 将109服务器的公钥发送到110服务器上 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.2.110 ###需要输入密码#######
- 测试
// 在109服务器上登陆110服务器 ssh 192.168.2.110 ###此时是不需要密码的
- 免校验
清空109服务器上~/.ssh/known_hosts文件内容,再登陆110时, 就会出现如下:
如图所示当在109登陆110时,需要进行确认操作,如何取消这步操作呢?
再次登陆110进行验证// 编辑配置文件 vim /etc/ssh/ssh_config #######################在文件末尾添加内容如下################### StrictHostKeyChecking no UserKnownHostsFile /dev/null
- 练习
现有3台服务器192.168.2.109、192.168.2.110、192.168.2.111
需要实现3台服务器之间相互免密钥,且服务器本身相互免密钥
比如 109服务器通过ssh登陆110、111实现免密钥,109登陆109(自己)也需要免密钥。