用于向远程主机的某个账户的authorized_keys
文件中增加公钥 或 从中移除公钥。
exclusive
authorized_keys
文件中移除所有其他的未指定的公钥。当想要指定多个公钥的时候,可以将key
参数指定为 新行 分隔的公钥列表。with_*
的时候,每次迭代都会进行移除操作。key
manage_dir
authorized_keys
文件所在的目录。如果设置了这个选项,那么authorized_key
模块,会创建这个目录,并且会设置目录的所有者和权限。path
authorized_keys
文件设置一个替代的路径。state
present
表示添加公钥,absent
表示删除公钥。user
validate_certs
key
的值是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