Ansible批量推送及更换密钥的简单介绍

2017年3月29日16:37:12 发表评论 825 views
本文最后更新于2017年8月4日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

1、authorized_key 模块的简单介绍

需要使用到的模块:authorized_key,为特定的用户账号添加或删除 SSH authorized keys

帮助文件查看

常用选项:

Options: (= is mandatory)(= 后面的参数是强制要有的)

- exclusive [default: no]: 是否移除 authorized_keys 文件中其它非指定 key

= key: SSH public key(s) 可以是字符串或 url,如:https://github.com/username.keys

- key_options [Default: None]: 附加到 key 中的字符串,该字符串会加到 key 的开头

- path [Default: (homedir)+/.ssh/authorized_keys]: 指定 authorized_keys 文件存放的位置

- state (Choices: present, absent) [Default: present]: present 添加指定 key 到 authorized_keys 文件中;absent 从 authorized_keys 文件中移除指定 key

= user: 指定修改远端服务器上哪个用户的 authorized_keys

- manage_dir (Choices: yes, no) [Default: yes]: 指定模块是否应该管理 authorized key 文件所在的目录。如果设置为 yes,模块会创建目录,以及设置一个已存在目录的拥有者和权限。如果通过 path 选项,重新指定了一个 authorized key 文件所在目录,那么应该将该选项设置为 no

2、批量推送

一个简单的批量推送的 playbook 文件

以 root用户身份,执行以下命令,并提供远端主机上root用户的口令

 

3、批量更改

出于安全的考虑,可能有定期更换密钥的需求。其实批量推送与批量更改实现原理是一致的:

1.生成新的密钥时,使用 -f 选项,避免新生成的密钥覆盖老的密钥

查看生成的新密钥对:

2.将新生成的密钥推送到远程主机上,还是使用上面的 playbook。只是把读取的密钥文件更改成新生成的 “id_rsa_2016-09-13.pub” 即可。

3.更新完成后,备份老的密钥,将新生成的密钥名更改为默认密钥名

备份老密钥:

更改新密钥:

  • 微信小程序
  • 关注微信小程序
  • weinxin
  • 微信公众号
  • 关注微信公众号
  • weinxin
Honest1y

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: