TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopsslib · 10.4K subscribers
Post #4315 1.37K
⌨️ Раздаём SSH-ключи на все серверы автоматически

Представьте: у вас 50 серверов и новый разработчик в компании. Чтобы он мог подключиться ко всем серверам, нужно на каждый сервер залезть и добавить его публичный ключ в файл authorized_keys. Минут 20 монотонной работы.

Вот для этого и нужна автоматизация. Вместо ручного добавления ключей на каждый сервер, вы один раз пишете инструкцию — и она раскатывается везде одновременно.

Будем использовать Ansible. Вы описываете, что нужно сделать, и Ansible делает это на всех серверах сразу:
- name: Deploy SSH keys
hosts: all
become: yes
tasks:
- name: Add authorized key for user
authorized_key:
user: devops
key: "{{ lookup('file', 'devops.pub') }}"
state: present


Разберём по строкам:

hosts: all — команда выполнится на всех серверах, которые указаны в вашем инвентаре.

become: yes — нужны права администратора для добавления ключей. Ansible подключится с правами root или через sudo.

authorized_key — это модуль Ansible для работы с SSH-ключами. Он знает, где находится файл authorized_keys, как его редактировать, и не сломает формат.

user: devops — добавляем ключ именно для пользователя devops.

key: "{{ lookup('file', 'devops.pub') }}" — берём содержимое файла devops.pub (публичный ключ) и добавляем его. Переменная в двойных скобках — это синтаксис Ansible, он подставит содержимое файла.

state: present — значит, ключ должен быть в файле. Если его там нет, добавит. Если есть, оставит как есть.

Когда сотрудник уйдёт:
- name: Remove authorized key
authorized_key:
user: devops
key: "{{ lookup('file', 'devops.pub') }}"
state: absent


🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики

🐸 Библиотека devops'a

#root_prompt
More from @devopsslib
  1. Sep 29, 2026Для тех, кто работает с Kubernetes и облачной инфраструктурой, в октябре намечается отличн…
  2. Sep 29, 2026CENTI CONF: DevOps Day — митап по разработке и инженерным решениям ⚡️ 6 ноября Centicore G…
  3. Sep 28, 2026Роутер умеет больше, чем просто раздавать Wi-Fi: JETON TECH по спеццене в DNS Собирались о…
  4. Sep 25, 2026🤖 ИИ-агенту теперь можно поставить задачу прямо в GitLab — и не расписывать каждый следую…
  5. Sep 18, 2026От исходного кода до процессора: разберись, как работает программа 💻 Стартует практически…
  6. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →