为了避免Ansible下发指令时输入目标主机密码,通过证书签名达到SSH无密码是一个好的方案,通过ssh-keygen与ssh-copy-id来实现快速证书的生成及公钥下发,其中ssh-keygen生成一对密钥,ssh-copy-id来下发生成的公钥。
1、执行 ssh-keygen -t rsa 生成密钥对
这时当前用户home目录下面会生成一对密钥,id_rsa 为私钥,id_rsa.pub 为公钥。
2、通过 ssh-copy-id 进行传输公钥
接着登录目标主机 ssh root@192.168.1.200,无须密码即可登录成功。并且查看当前用户下的 .ssh/目录,发现多出了两个文件:
1)known_hosts 用于验证连接的主机是否正确
2)authorized_keys 用来存放其他主机的公钥信息
本文介绍如何通过ssh-keygen生成密钥对,并利用ssh-copy-id将公钥部署到远程主机上,实现Ansible环境下SSH无密码登录,提高自动化运维效率。
2582

被折叠的 条评论
为什么被折叠?



