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 в системата

 Ключове на хост (sshd) за SSH сървър

Ключове на системно ниво, използвани от 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 се опита да 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”
  • Използвайте отделни ключове за всеки хост/проект
  • Избягвайте използването на root ключове в различни среди

Аудит и отстраняване на проблеми

За да видите кой ключ се използва по време на 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
За начало