15%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Використовуй код:

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_keyECDSA приватний ключ хоста
ssh_host_ed25519_keyEd25519 приватний ключ хоста

Ці ключі використовуються для ідентифікації сервера для клієнтів, а не для аутентифікації користувачів.

Демон 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 намагається SSH на сервер як 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%

Save 15% on All Hosting Services

Test your skills and get Discount on any hosting plan

Використовуй код:

Skills
Почати