ansible-2添加公钥

该文章摘自:http://www.fwqtg.net/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7ansible%E5%AD%A6%E4%B9%A0%E4%BD%BF%E7%94%A8ansible%E6%89%B9%E9%87%8F%E6%8E%A8%E9%80%81%E5%85%AC%E9%92%A5%E5%88%B0%E8%BF%9C%E7%A8%8B.html

 

我们可以参看文章:http://blog.csdn.net/magedu_linux/article/details/48529645

来设置批量推送key到远程主机(使用ansible-playbook 的authoried_keys模块

在使用ansible的时候我们需要把管理主机的公钥给拷贝到远程的被管理主机,这样的话,我们管理和操作起来就非常方便了

首先我们在管理主机生成一个公钥

生成秘钥对
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ”  # 生产密钥对

这个命令会产生一个公钥(~/.ssh/id_rsa.pub)和密钥(~/.ssh/id_rsa),

 -t dsa:表示使用密钥的加密类型,可以为’rsa’和’dsa’

 -P ”:表示不需要密码登录

 -f ~/.ssh/id_dsa:表示密钥存放的路径为${USER}/.ssh/id_dsa

ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname]  #如果你是单台机器的话,可以使用这种方式把公钥文件传递到对方主机

PS:
   很多时候,一些童鞋使用scp来把公钥文件传递到远程主机上,然后再给cat到远程主机的authorized_keys文件中,但是这种情况是属于你手动创建了authorized_keys文件,这个时候这个文件的权限跟你系统定义的umask是相关联的,所以也就导致了你已经上传公钥到远程主机但是依旧不能通过公钥来登录远程主机。这是authorized_keys文件权限问题导致的。

无图无真相,来看看我们已经做好的一台ansible机器上来罗列远程主机上的authorized_keys的权限,如果你的机器不行,那就改为600即可

你可能感兴趣的:(运维)