用于向远程主机的某个账户的authorized_keys文件中增加公钥 或 从中移除公钥。
exclusiveauthorized_keys文件中移除所有其他的未指定的公钥。当想要指定多个公钥的时候,可以将key参数指定为 新行 分隔的公钥列表。with_*的时候,每次迭代都会进行移除操作。keymanage_dirauthorized_keys文件所在的目录。如果设置了这个选项,那么authorized_key模块,会创建这个目录,并且会设置目录的所有者和权限。pathauthorized_keys文件设置一个替代的路径。statepresent表示添加公钥,absent表示删除公钥。uservalidate_certskey的值是https url的时候,才起作用。如果设置该选项为no,那么不会校验SSL证书。
- authorized_key: user=charlie key="{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- authorized_key: user=charlie key=https://github.com/charlie.keys
authorized_keys文件指定一个替代的路径
- authorized_key:
user: charlie
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
path: '/etc/ssh/authorized_keys/charlie'
manage_dir: no
with_file循环
- name: Set up authorized_keys for the deploy user
authorized_key: user=deploy key="{{ item }}"
with_file:
- public_keys/doe-jane
- public_keys/doe-john
- authorized_key:
user: charlie
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
key_options: 'no-port-forwarding,from="10.0.1.1"'
validate_certs
- authorized_key: user=charlie key=https://github.com/user.keys validate_certs=no
authorized_keys文件中,增加本地的public_keys/doe-jane文件中列出的公钥列表,并删除不在这个列表中的公钥
- authorized_key: user=root key="{{ item }}" state=present exclusive=yes
with_file:
- public_keys/doe-jane
.ssh/id_rsa.pub文件里的公钥拷贝到远程主机的ubuntu用户的authorized_keys文件中
- authorized_key: user=ubuntu key="{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
become: yes