Как да създадете и инсталирате SSH ключове от Linux Shell

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

Какво не е наред с паролите?

Secure shell (SSH) е криптираният протокол, използван за влизане в потребителски акаунти на отдалечени компютри, подобни на Linux или Unix. Обикновено такива потребителски акаунти са защитени с пароли. Когато влизате в отдалечен компютър, трябва да предоставите потребителското име и паролата за акаунта, в който влизате.

Паролите са най-често срещаното средство за осигуряване на достъп до изчислителни ресурси. Въпреки това сигурността, базирана на пароли, има своите недостатъци. Хората избират слаби пароли, споделят пароли, използват една и съща парола на множество системи и т.н.

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

Какво прави SSH ключовете сигурни?

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

Вашият частен ключ е инсталиран в домашната ви папка (обикновено), а публичният ключ е инсталиран на отдалечения компютър или компютри, до които ще трябва да имате достъп.

Вашият частен ключ трябва да бъде защитен. Ако е достъпна за други, вие сте в същата позиция, както ако те са открили вашата парола. Разумна — и силно препоръчителна — предпазна мярка е вашият частен ключ да бъде криптиран на вашия компютър със стабилна парола.

  Как да хоствате личен Pastebin алтернатива на Linux

Публичният ключ може да се споделя свободно, без никакъв компромис с вашата сигурност. Не е възможно да се определи какъв е частният ключ от проверка на публичния ключ. Частният ключ може да криптира съобщения, които само частният ключ може да декриптира.

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

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

Отдалеченият компютър вече знае, че вие ​​трябва да сте този, за когото се представяте, защото само вашият частен ключ може да извлече идентификатора на сесията от съобщението, изпратено до вашия компютър.

Уверете се, че имате достъп до отдалечения компютър

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

Не се опитвайте да правите нищо със SSH ключове, докато не проверите, че можете да използвате SSH с пароли за свързване към целевия компютър.

В този пример човек с потребителски акаунт, наречен dave, е влязъл в компютър, наречен wdzwdz. Те ще се свържат с друг компютър, наречен Sulaco.

Те въвеждат следната команда:

ssh [email protected]

Искат им паролата, въвеждат я и се свързват със Sulaco. Техният команден ред се променя, за да потвърди това.

Това е всичко, от което се нуждаем. Така потребителят dave може да прекъсне връзката със Sulaco с командата за изход:

exit

Те получават съобщението за прекъсване на връзката и техният ред на командния ред се връща към [email protected]

  Как автоматично да монтирате мрежови споделяния на Linux

Създаване на двойка SSH ключове

Тези инструкции бяха тествани в дистрибуции на Ubuntu, Fedora и Manjaro на Linux. Във всички случаи процесът беше идентичен и не беше необходимо да се инсталира нов софтуер на нито една от тестовите машини.

За да генерирате вашите SSH ключове, въведете следната команда:

ssh-keygen

Процесът на генериране започва. Ще бъдете попитани къде искате да се съхраняват вашите SSH ключове. Натиснете клавиша Enter, за да приемете местоположението по подразбиране. Разрешенията на папката ще я защитят само за ваша употреба.

Сега ще бъдете помолени за парола. Силно ви съветваме да въведете парола тук. И запомнете какво е! Можете да натиснете Enter, за да нямате парола, но това не е добра идея. Пропуск, съставен от три или четири несвързани думи, нанизани заедно, ще направи много здрав пропуск.

Ще бъдете помолени да въведете същия пропуск още веднъж, за да потвърдите, че сте въвели това, което смятате, че сте въвели.

SSH ключовете се генерират и съхраняват за вас.

Можете да игнорирате „randomart“, който се показва. Някои отдалечени компютри може да ви показват произволното си изкуство всеки път, когато се свържете. Идеята е, че ще разпознаете дали произволното изображение се промени и ще бъдете подозрителни към връзката, защото това означава, че SSH ключовете за този сървър са променени.

Инсталиране на публичния ключ

Трябва да инсталираме вашия публичен ключ на Sulaco, отдалечения компютър, така че той да знае, че публичният ключ принадлежи на вас.

Правим това с помощта на командата ssh-copy-id. Тази команда осъществява връзка с отдалечения компютър като обикновената ssh команда, но вместо да ви позволи да влезете, тя прехвърля публичния SSH ключ.

ssh-copy-id [email protected]

Въпреки че не влизате в отдалечения компютър, все пак трябва да се удостоверите с парола. Отдалеченият компютър трябва да идентифицира към кой потребителски акаунт принадлежи новият SSH ключ.

  Как да играете Spelunky на Linux

Имайте предвид, че паролата, която трябва да предоставите тук, е паролата за потребителския акаунт, в който влизате. Това не е паролата, която току-що създадохте.

Когато паролата е потвърдена, ssh-copy-id прехвърля вашия публичен ключ към отдалечения компютър.

Вие се връщате в командния ред на вашия компютър. Не сте останали свързани с отдалечения компютър.

Свързване с помощта на SSH ключове

Нека последваме предложението и се опитаме да се свържем с отдалечения компютър.

ssh [email protected]

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

Въведете вашата парола и кликнете върху бутона Отключване.

След като сте въвели паролата си в терминална сесия, няма да се налага да я въвеждате отново, докато имате отворен прозорецът на терминала. Можете да се свързвате и прекъсвате връзката с толкова отдалечени сесии, колкото искате, без да въвеждате отново паролата си.

Можете да поставите отметка в квадратчето за опцията „Автоматично отключване на този ключ, когато съм влязъл“, но това ще намали вашата сигурност. Ако оставите компютъра си без надзор, всеки може да направи връзки с отдалечените компютри, които имат вашия публичен ключ.

След като въведете вашата парола, вие сте свързани с отдалечения компютър.

За да проверите процеса още веднъж от край до край, прекъснете връзката с командата за изход и се свържете отново с отдалечения компютър от същия терминален прозорец.

ssh [email protected]

Ще бъдете свързани с отдалечения компютър, без да е необходима парола или парола.

Без пароли, но подобрена сигурност

Експертите по киберсигурност говорят за нещо, наречено триене в сигурността. Това е малката болка, с която трябва да се примирите, за да получите допълнителна сигурност. Обикновено са необходими някои допълнителни стъпки или две, за да се приеме по-сигурен метод на работа. И повечето хора не го харесват. Те всъщност предпочитат по-ниска сигурност и липса на триене. Това е човешката природа.

С SSH ключовете получавате повишена сигурност и удобство. Това е категорична печеливша.