在大量主机上管理authorized_keys文件时,可以使用配置管理工具,如Ansible、Puppet或Chef等,以实现自动化管理和配置。
配置管理工具可以将公钥集中存储,并在多台主机上自动同步,实现统一管理。同时,配置管理工具还可以确保主机的配置符合预期,并且可以方便地管理多台主机。
例如,使用Ansible管理authorized_keys文件的方法如下:
authorized_keys.yml
,并添加以下内容:---
- name: Manage authorized_keys
hosts: all
vars:
authorized_keys_file: /root/.ssh/authorized_keys
authorized_keys:
- "{{ lookup('file', '~/keys/id_rsa.pub') }}"
tasks:
- name: Ensure .ssh directory exists
file:
path: "{{ authorized_keys_file | dirname }}"
state: directory
owner: root
group: root
mode: 0700
- name: Add authorized_keys
lineinfile:
path: "{{ authorized_keys_file }}"
line: "{{ item }}"
state: present
with_items: "{{ authorized_keys }}"
hosts
文件中添加要管理的主机,例如:[all]
192.168.1.100
192.168.1.101
ansible-playbook authorized_keys.yml
这样,Ansible会将本地~/keys/id_rsa.pub
文件中的公钥添加到远程主机的/root/.ssh/authorized_keys
文件中。
除了Ansible之外,Puppet、Chef等配置管理工具也可以实现类似的功能。
领取专属 10元无门槛券
手把手带您无忧上云