Определение простыми словами
Файл authorized_keys — это специальный текстовый файл в Linux-системах, где хранятся открытые SSH-ключи пользователей, которым разрешён доступ к серверу по протоколу SSH. Такой способ аутентификации обеспечивает более высокий уровень безопасности, поскольку вход осуществляется без пароля, а на основе пары ключей: приватного и публичного.
Когда клиент пытается подключиться к серверу, сервер сверяет его открытый ключ с ключами из файла authorized_keys. Если совпадение найдено, доступ разрешается, что снижает риск взлома через подбор пароля.
Сравнение
| Метод аутентификации | Безопасность | Удобство | Риск компрометации |
|---|---|---|---|
| Пароль | Средняя | Прост в использовании | Зависит от сложности пароля, подвержен атаке перебора |
| SSH-ключи (authorized_keys) | Высокая | Требует настройки, но далее удобен | Низкий, при условии защищённого приватного ключа |
Кейсы использования
- Обеспечение безопасного доступа к VPS и выделенным серверам у хостера.
- Автоматизация процессов деплоя и управления сервером без ввода пароля.
- Настройка доступа для нескольких пользователей с разными ключами.
- Использование в системах CI/CD для безопасного подключения к удалённым хостам.
- Негативный пример: размещение публичных ключей сторонних пользователей без контроля, что ведёт к потенциальному несанкционированному доступу.
Технические детали
Файл authorized_keys обычно находится в домашнем каталоге пользователя по пути ~/.ssh/authorized_keys и содержит одну или несколько строк с публичными ключами в формате OpenSSH.
Пример содержимого файла:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAr7Hx1... user@example.com
Для добавления нового ключа достаточно добавить соответствующую строку в этот файл и убедиться, что права доступа к файлу и папке .ssh корректны (например, chmod 600 authorized_keys и chmod 700 ~/.ssh).
Подробности и настройки можно найти в SSH и SSH-аутентификация.
🔥 Где это применяется
Частые вопросы
Где находится файл authorized_keys?
Файл расположен в домашнем каталоге пользователя в директории ~/.ssh/authorized_keys.
Можно ли использовать один authorized_keys для нескольких пользователей?
Каждый пользователь имеет свой файл authorized_keys в своём домашнем каталоге для разделения доступа.
Что будет, если удалить ключ из authorized_keys?
Удаление ключа лишит доступа к серверу по этому ключу без необходимости менять пароль.