Какво е SSH двойка ключове?

SSH двойка ключове е набор от два криптографски ключа, използвани за удостоверяване на потребител към отдалечен сървър без парола. Двойката се състои от частен ключ, който се пази в тайна на машината на потребителя, и публичен ключ, поставен на отдалечения сървър. При свързване сървърът предизвиква клиента да докаже притежанието на частния ключ — без никога да предава самия частен ключ. Този асиметричен подход е значително по-безопасен от удостоверяването на базата на парола, тъй като няма споделена тайна, която може да бъде прихваната или брутално атакувана.

SSH двойките ключове се генерират с помощта на алгоритми за криптография с публичен ключ. Най-широко използвани са Ed25519, съвременен алгоритъм на елиптична крива, известен със своя малък размер на ключа и висока безопасност, и RSA, проверен алгоритъм, който разчита на трудността на факторизирането на големи цели числа. Ed25519 се препоръчва за нови ключове поради неговото превъзходно производство и устойчивост на атаки по странични канали.

Описание на инструмента

Генераторът на SSH двойки ключове създава криптографски защитени Ed25519 или RSA SSH двойки ключове директно в браузъра ви, използвайки Web Crypto API. Никакви данни не се изпращат на сървър — целият ключов материал се генерира локално на вашето устройство. Можете по желание да добавите коментар (обикновено user@hostname) за идентификация на ключа по-късно. Генерираните публичен и частен ключове могат да бъдат копирани в буфера на обмена или изтеглени като файлове, готови за използване с ssh-copy-id или всеки SSH клиент.

Примери

Ed25519 публичен ключ

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl user@hostname

RSA публичен ключ (4096-бит)

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2... user@hostname

Частен ключ (OpenSSH формат)

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAAB...
-----END OPENSSH PRIVATE KEY-----

Функции

  • Поддръжка на Ed25519 и RSA: Изберете между съвременен алгоритъм на елиптична крива или класическия RSA алгоритъм
  • Опции за размер на RSA ключ: Изберете 2048, 3072 или 4096-битови RSA ключове, за да балансирате безопасност и производство
  • Опционално поле за коментар: Прикачете коментар в стил user@hostname за идентификация на ключа между машини

Как работи

Генериране на ключове използва вградения API crypto.subtle на браузъра (Web Crypto). За Ed25519, суровите 32-байтов частен скалар и 32-байтов публичен ключ се пакетират в OpenSSH формат на проводника (openssh-key-v1). За RSA, ключът се експортира в PKCS#8 DER формат и се обвива в стандартен PEM плик. Публичният ключов блоб се кодира в SSH формат на проводника (име на алгоритъм с префикс дължина, последвано от ключов материал) и Base64-кодиран, съответстващ на формата, очакван от OpenSSH файла authorized_keys.

Съвети

  • След изтегляне задайте правилните разрешения на файла с частния ключ: chmod 600 ~/.ssh/id_ed25519. SSH ще откаже да използва частен ключ, който е четим от други потребители.
  • Използвайте Ed25519, освен ако не се нуждаете от съвместимост със по-стари системи, които го не поддържат. Той произвежда по-къси ключове и е по-бърз от RSA.
  • Полето за коментар не влияе на криптографската сила на ключа — то е чисто за идентификация на човека и може да бъде променено по-късно с ssh-keygen -c.
  • За максимална RSA съвместимост със наследени сървъри използвайте 4096-битови ключове. За съвременни сървъри Ed25519 е предпочитан независимо от размера на RSA ключа.