Linux лаптоп, показващ подсказка за черупки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ssh dave @ sulaco
ssh dave @ sulaco в терминален прозорец

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

потребител Дейв свързан към sulaco с помощта на ssh и парола

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

изход
потребител Дейв изключен от sulaco

Те получават съобщението за прекъсване и командният им ред се връща към Дейв @ howtogeek.

СВЪРЗАНИ: Как да се свържете към SSH сървър от Windows, macOS или Linux

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

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

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

SSH-търсени
ssh-keygen в терминален прозорец

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

Потвърждение на местоположението за съхранение на ssh ключ в прозорец на терминала

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

Подкана за парола в терминален прозорец

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

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

Завършено генериране на ключове и случайно изкуство се показва в прозорец на терминала

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

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

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

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

ssh-copy-id dave @ sulaco
ssh-copy-id dave @ sulaco

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

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

ssh-copy-id с подкана за парола в прозореца на терминала

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

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

пуличен ключ се прехвърля успешно в терминален прозорец

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

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

ssh dave @ sulaco
ssh dave @ sulaco в терминален прозорец

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

диалогов прозорец за заявка за парола

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

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

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

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

връзка отдалечен компютър в прозорец на терминала

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

ssh dave @ sulaco
ssh ключ връзка и прекъсване в терминален прозорец

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

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

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

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