15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
28.01.2026

Где хранятся SSH-ключи в Linux — и как управлять ими безопасно

Общие файлы в этом каталоге:

SSH (Secure Shell) является основным инструментом в экосистеме Linux, используемым для удаленного доступа, безопасной передачи файлов, автоматизации и управления серверами. Хотя большинство пользователей взаимодействуют с SSH через команду ssh, на самом деле SSH полагается на пары публичных и приватных ключей для аутентификации — особенно в средах, где безпарольный вход, автоматизация и практики DevOps являются необходимыми.

Место хранения ключей SSH по умолчанию

Самое распространенное место хранения ключей SSH:

~/.ssh/

Это относится к каталогу .ssh в домашней папке пользователя, например:

/home/username/.ssh/

Общие файлы в этом каталоге:

ФайлНазначение
id_rsaКлюч приватный по умолчанию (RSA)
id_rsa.pubСоответствующий публичный ключ
id_ecdsa, id_ed25519Другие приватные ключи (ECDSA, Ed25519)
id_*.pubСоответствующие публичные ключи
authorized_keysХранит публичные ключи разрешенные для подключения
known_hostsХранит отпечатки серверов (проверка ключа хоста)
configКонфигурация клиента SSH для конкретного пользователя

Если вы генерируете ключи с помощью ssh-keygen, они по умолчанию хранятся здесь, если не указан путь.

Системные места хранения ключей SSH

Ключи хоста SSH (sshd)

Системные ключи, используемые демоном SSH (серверная сторона):

/etc/ssh/

Типичные файлы:

ФайлНазначение
ssh_host_rsa_keyПриватный ключ хоста (RSA)
ssh_host_rsa_key.pubПубличный ключ хоста
ssh_host_ecdsa_keyПриватный ключ хоста ECDSA
ssh_host_ed25519_keyПриватный ключ хоста Ed25519

Демон SSH (sshd) представляет публичный ключ хоста во время подключения; клиенты сравнивают его с ~/.ssh/known_hosts.

Пользовательские места хранения ключей

Вы можете генерировать или использовать ключи SSH из любого места, но вы должны указать путь:

ssh -i /path/to/custom_key user@host

Вы также можете настроить несколько ключей через ~/.ssh/config:

Host myserver HostName 192.168.1.100 User devops IdentityFile ~/.ssh/devops_key

Где используются ключи?

Исходящие (Клиентская сторона)

Клиенты SSH по умолчанию ищут приватные ключи в ~/.ssh/. Они используются для инициации аутентификации при подключении к удаленному серверу.

  • ssh, scp, rsync через SSH, git (при использовании удаленного SSH)

Входящие (Серверная сторона)

Сервер ищет публичные ключи в:

~/.ssh/authorized_keys

Этот файл перечисляет, какие публичные ключи разрешены для входа в конкретную учетную запись пользователя.

Если user_a пытается подключиться к серверу как user_b, их публичный ключ должен присутствовать в ~user_b/.ssh/authorized_keys.

Разрешения — критически важны для безопасности

Правильные разрешения:

~/.ssh → 700 (drwx------) ~/.ssh/authorized_keys → 600 (-rw-------) ~/.ssh/id_rsa → 600 (-rw-------) ~/.ssh/id_rsa.pub → 644 (-rw-r--r--)

Неправильные разрешения могут привести к тому, что SSH игнорирует ваши ключи или полностью отклоняет входы.

Безопасное управление ключами SSH

  • Используйте парольную фразу при генерации приватных ключей:
    ssh-keygen -t ed25519 -C "your_email@example.com"
  • Используйте ssh-agent для кэширования разблокированных ключей в памяти:
    eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
  • Регулярно меняйте ключи
  • Удаляйте неиспользуемые или сиротские ключи из “authorized_keys”
  • Используйте отдельные ключи для каждого хоста/проекта
  • Избегайте использования корневых ключей в разных средах

Аудит и отладка

Чтобы увидеть, какой ключ используется во время подключения SSH:

ssh -v user@host

Это выводит подробные логи, включая информацию о том, какой файл идентификации был использован.

Чтобы перечислить загруженные ключи в вашем текущем агенте:

ssh-add -l

Чтобы удалить ключ:

ssh-add -d ~/.ssh/mykey

Заключение

Понимание того, где хранятся ключи SSH в Linux — и как управлять ими безопасно — имеет решающее значение для системных администраторов, разработчиков, инженеров DevOps и всех, кто работает в средах с несколькими хостами или пользователями.

Зная разницу между пользовательскими ключами, ключами хоста и авторизованными ключами, вы можете:

  • Устранять проблемы с аутентификацией
  • Настраивать безопасные автоматизированные рабочие процессы
  • Управлять доступом между командами и системами

На производственных системах или облачных платформах (например, VPS или выделенных серверах) неправильное управление ключами SSH может привести к серьезным уязвимостям. Убедитесь, что вы следуете лучшим практикам и регулярно проводите аудит доступа.

15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать