Съдържание
Абонирай се за нашия бюлетин.
Без спам
Качествено съдържание
Отстъпки
Абонирай се сега

Какво е SSH ключ и как да създадете такъв?

Публикувана на 02.08.2021

SSH (Secure Shell) е протокол за отдалечено администриране, предназначен за дистанционно управление на операционни системи. Този протокол подсигурява надеждна връзка между вас и сървъра, трансферира информацията между вас и сървъра. Протоколът е широко използван и е част от основните инструменти за работа.

 

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

SSH ключовете се използват в SSH протокола за оторизиране пред сървъра. На практика, SSH ключовете са почти като паролите, но много по-сигурни. Препоръчителна е употребата на SSH ключове, от тази на пароли.

Всеки SSH ключ се състои от две части - един публичен ключ и един частен (private). Публичният се прилага на сървърните системи, до който ще ви е нужен достъп. Частният ключ се изпраща всеки път, когато пожелаете да се логнете в отдалечената система. Частният ключ не трябва да се споделя с никого. Можете да споделяте само вашия публичен ключ.

 

Как да използвате SSH, за да контролирате сървъра си?

Не се изискват допълнителни действия, за да използвате SSH, ако сте потребител на Linux или Mac. Ако обаче използвате Windows, ще трябва да предприемете няколко допълнителни стъпки, за да го използвате, като да инсталирате SSH клиент (например популярен клиент PuTTY) за отваряне на SSH връзки.

За потребители на Mac и Linux, отворете терминала си и следвайте стъпките по-долу.

Командата за свързване към сървър чрез SSH се състои от три части:

ssh {user}@{host}

Тази команда инструктира вашата система, че искате да отворите криптирана Secure Shell връзка. {user} и {host} представляват съответно акаунта и сървъра (напр. IP адрес или име на домейн), до който искате да осъществите достъп.

След като натиснете ENTER, ще трябва да въведете паролата за акаунта, в който се опитвате да влезете. Въведете паролата си и натиснете ENTER отново. Ако паролата ви е правилна, ще се появи прозорецът на отдалечения терминал.

 

Как да генерирате ключове с OpenSSH под Linux и macOS?

Както вече споменахме, малко по-лесно е да използвате SSH, ако използвате Linux или Mac. И двете операционни системи трябва да имат стандартния набор от инструменти на OpenSSH, които вече са инсталирани. Този пакет включва помощната програма ssh-keygen, която ще използваме за генериране на двойка SSH ключове.

Първо, въведете следната команда във вашия терминал:

$ ssh-keygen

След това ще трябва да изберете място за ключовете. По подразбиране ключовете се съхраняват в директорията ~/.ssh с имената на файлове id_rsa (частен ключ) и id_rsa.pub (публичен ключ).

Препоръчваме ви да приемете местоположенията по подразбиране, защото това ще позволи на вашия SSH клиент автоматично да намира вашите SSH ключове при удостоверяване. За да направите това, натиснете ENTER:

Output
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):

Забележка: ако вече сте генерирали двойка ключове преди, ще трябва да потвърдите, че искате да замените съществуващия ключ:

Output
/home/user/.ssh/id_rsa already exists.
Overwrite (y/n)?

Ако решите да презапишете съществуващия ключ, вече няма да можете да се оторизирате с него. Ако сте сигурни, че искате да продължите и да го презапишете, можете да го направите, като натиснете Y и ENTER.

И така, обратно към генерирането на ключове. Ако изберете местоположението по подразбиране, вашите лични и публични ключове ще бъдат съответно в /home/user/.ssh/id_rsa.pub и /home/user/.ssh/id_rsa.

След като изберете местоположението на ключовете, ще трябва да въведете фраза за достъп, за да криптирате файла на личния си ключ на диска. Това не е задължително. Ако обаче решите да въведете фразата, ще трябва да я предоставяте всеки път, когато използвате този ключ. Ако искате да пропуснете тази стъпка, просто натиснете ENTER.

Output
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

След като приключи, вашата система ще генерира двойка SSH ключове.

Output
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:EX:AM:PL:E3:3e:a9:de:4e:77:11:58:b6:90:26 user@203.0.113.0
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   E o= .        |
|    o. o         |
|        ..       |
|      ..S        |
|     o o.        |
|   =o.+.         |
|. =++..          |
|o=++.            |
+-----------------+

Това е всичко. Честито! Вече имате публичен и частен ключ за автентикация. Те могат да се използват за сигурна връзка с отдалечен сървър.

 

Как да генерирате SSH ключ под Windows?

Генерирането на двойка SSH ключове под Windows изисква инсталацията на допълнителен софтуер. Препоръчваме ви инсталацията на SSH клиента PuTTY. Инсталацията на този софтуер включва и инсталирането на PuTTY keygen tool, който се използва за генериране на ключове. Ето как:

 

  1. Отворете PuTTY Keygen tool.

  2. Натиснете Generate бутона.

  3. Движете курсора на мишката си в сивия бутон, докато не запълните прогрес бар-а по-горе.

  4. След това, натиснете върху Save public key. Изберете име и локация за съхраняване на ключа.

  5. Натиснете върху Save private key. Можете да приложите passphrase (допълнителна парола), но това не е задължително и можете да го пропуснете. Изберете име и локация за съхраняване на частния ключ.

 

Това е всичко. Вече можете да започнете да използвате ключа си.

 

Как да използвам SSH ключа си за свързване към моите сървъри?

SSH ключовете са по-предпочитан начин за оторизиране между вас и сървъра, защото е по-сигурен от обикновените пароли. За да използвате вашия SSH ключ за влизане в сървърите си, трябва да качите своя публичен ключ (съдържанието на файла /home/user/.ssh/id_rsa.pub, който генерирахме в предишната стъпка) на отдалечения сървъра, на който искате да се свързвате чрез SSH ключове. Публичният ви ключ трябва да бъде поставен във файла authorized_keys за конкретния потребител на отдалечената система.

Например, ако искате да използвате този ключ, за да влезете като root потребител, трябва да поставите своя публичен ключ в /root/.ssh/authorized_keys на отдалечения сървър. Ако искате да влезете като потребител johnny, поставете своя публичен ключ в /home/johnny/.ssh/authorized_keys. Надяваме се, разбирате алгоритъма.

Това е всичко. Ако се опитате да се свържете отново със сървъра си, той не трябва да изисква парола. Вместо това веднага ще можете да влезете в сървъра си.

Забележка: ако вашият личен ключ не е под името по подразбиране (/home/user/.ssh/id_rsa), той няма да бъде открит автоматично. Трябва да добавите пътя към личния си ключ всеки път, когато се опитате да влезете в сървъра си. Можете да го направите, като добавите параметъра -i, последван от пътя на вашия частен ключ.

Например: ssh root@your_server_ip -i /home/user/.ssh/my-key

Избери услуга и активирай за минути.

Стартирай без риск - предоставяме 30 днeвна гаранция за възстановяване на платената сума.

Започнете още днес