В какой файл нужно добавить SSH-ключ
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Файл для добавления SSH-ключа
Основной файл, в который нужно добавить публичный SSH-ключ для авторизации на удалённом сервере, — это ~/.ssh/authorized_keys в домашней директории пользователя. Этот файл хранит список публичных ключей, которым разрешён доступ к системе. Если файла или директории .ssh не существует, их нужно создать с правильными правами доступа.
Шаги для добавления ключа
-
Создание директории и файла (если их нет):
mkdir -p ~/.ssh touch ~/.ssh/authorized_keysВажно: установить строгие права доступа, чтобы запретить запись другим пользователям.
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys -
Добавление публичного ключа: Публичный ключ (обычно содержимое файла
id_rsa.pubилиid_ed25519.pub) нужно добавить в конец файлаauthorized_keys. Это можно сделать вручную через текстовый редактор или с помощью команды:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keysКаждая строка в
authorized_keysсоответствует одному ключу и может включать дополнительные опции, такие как ограничение по IP или командам. -
Проверка прав доступа: Убедитесь, что файлы принадлежат правильному пользователю и группе:
chown -R $USER:$USER ~/.ssh
Важные нюансы для DevOps
- Безопасность: Файл
authorized_keysдолжен быть доступен только владельцу. Слабо настроенные права — частый вектор атак. - Автоматизация: В инфраструктуре как код (например, с Ansible, Terraform) добавление ключей автоматизируется. Например, в Ansible:
- name: Add SSH key for user authorized_key: user: "{{ username }}" state: present key: "{{ lookup('file', '/path/to/public_key.pub') }}" - Разделение ключей: Рекомендуется использовать разные ключи для разных сред (разработка, продакшн) и сервисов.
- Альтернативные файлы: В конфигурации SSH-сервера (
sshd_config) можно изменить путь кauthorized_keysчерез опциюAuthorizedKeysFile. Например:AuthorizedKeysFile /etc/ssh/authorized_keys/%u - Ключи для служб: Для служебных аккаунтов (например,
git) ключи добавляются в~/.ssh/authorized_keysсоответствующего пользователя.
Пример для нескольких ключей
Файл authorized_keys может содержать несколько ключей, каждый на новой строке:
ssh-rsa AAAAB3NzaC... user@laptop
ssh-ed25519 AAAAC3Nz... user@workstation
Можно добавлять комментарии для удобства управления.
В DevOps-практиках управление SSH-ключами часто интегрируется с инструментами вроде HashiCorp Vault или Teleport для централизованного контроля доступа и аудита. Для больших команд используют инфраструктурные решения, чтобы избежать ручного редактирования authorized_keys на каждом сервере.