В какой файл на Linux-сервере нужно добавить публичный SSH-ключ для авторизации?

«В какой файл на Linux-сервере нужно добавить публичный SSH-ключ для авторизации?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Публичный ключ нужно добавить в файл ~/.ssh/authorized_keys в домашней директории пользователя, под которым планируется подключение. Каждый ключ должен быть на отдельной строке.

Правильная последовательность команд для добавления ключа:

# 1. Создаем директорию .ssh, если её нет (с правильными правами)
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# 2. Добавляем публичный ключ в файл
# Предполагается, что ключ уже скопирован на сервер или вставлен из буфера обмена
echo "ssh-rsa AAAAB3NzaC1yc2E... user@host" >> ~/.ssh/authorized_keys

# 3. Устанавливаем строгие права на файл с ключами
chmod 600 ~/.ssh/authorized_keys

Критически важные моменты для безопасности и работы:

  • Права 700 на директорию ~/.ssh и 600 на файл ~/.ssh/authorized_keys. Более широкие права (например, 755) приведут к отказу в подключении со стороны SSH-демона.
  • Файл должен принадлежать соответствующему пользователю и его группе.
  • В DevOps-практике этот процесс часто автоматизируется с помощью инструментов управления конфигурацией, таких как Ansible, или через cloud-init при создании виртуальных машин.