Реклама

Как да се удостоверите през SSH с ключове вместо паролиSSH е чудесен начин да получите отдалечен достъп до вашия компютър. Подобно на FTP, можете да се свържете през SSH FTP Какво е SSH и как се различава от FTP [обяснена технология] Прочетете още за да получите защитен достъп до файлов сървър с любимите си FTP клиент Овладейте FTP прехвърляне на файлове на всичките ви сайтове с FileZillaГолям брой от старите FTP клиенти имаха проблеми, когато ставаше дума за прехвърляне на големи файлове. Приложенията имаха обичайните изчаквания, които бихте очаквали, когато компютърът седи там от 15 до... Прочетете още , бърз достъп до отдалечени файлове или дори монтиране на мрежов диск към вашия компютър. Но има повече за SSH от отдалечен достъп до файлове. Влизане през SSH в терминал (или чрез PuTTY в Windows) ви дава отдалечен достъп до обвивка (в края на краищата, SSH е съкращение от Secure Shell). Ето как управлявам своя медиен сървър от разстояние.

Когато ти отворете портовете Какво е пренасочване на портове и как може да ми помогне? [MakeUseOf обяснява]

instagram viewer
Плачете ли малко отвътре, когато някой ви каже, че има проблем с пренасочването на портове и затова вашето лъскаво ново приложение няма да работи? Вашият Xbox няма да ви позволи да играете игри, вашите торент изтегляния отказват... Прочетете още на вашия рутер (порт 22 за да бъдем точни) можете не само да получите достъп до вашия SSH сървър от вашата локална мрежа, но и от всяка точка на света.

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

Това за мен ли е?

Изкушаващо е да отслабнете с личната сигурност. Ако използвате сървъра за лични средства, може да си помислите, че хората просто не знаят за вашия сървър и следователно няма да се опитват да го хакнат – сигурност чрез неизвестност. Това би било а много погрешно предположение. Тъй като (повечето) SSH трафик се предава на порт 22, нападателите рутинно проверяват видимостта на порт 22 на произволни IP адреси, последвано от груба атака. Това е един от начините, по които ботнетите се правят за използване DDOS атаки Какво е DDoS атака? [MakeUseOf обяснява]Терминът DDoS отминава винаги, когато киберактивизмът се надига масово. Този вид атаки стават международни заглавия поради множество причини. Проблемите, които предизвикват тези DDoS атаки, често са противоречиви или силно... Прочетете още .

Накратко: ако излъчвате вашия SSH сървър през интернет (т.е. препращащ порт 22), тогава да, това е за вас.

Идеята за SSH входове, базирани на ключ

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

В процеса по-долу вашият клиентски компютър генерира два ключа: публичен ключ и частен ключ. Общата идея е, че можете да криптирате данни с публичния ключ, но само да ги дешифрирате с частния ключ. Ще поставим публичния ключ на сървъра и ще го помолим да криптира цялата изходяща комуникация с него. Това гарантира, че само тези клиенти с частен ключ могат да декриптират и четат данните.

1. Инсталирайте OpenSSH

Първо, ще настроим SSH сървър, използвайки OpenSSH. Ако вече имате работещ SSH сървър и просто искате да знаете как да настроите удостоверяване, базирано на ключ, можете да пропуснете тази стъпка. Използвайте любимия си мениджър на пакети, за да инсталирате сървърното приложение OpenSSH. Най-простият начин все още може да бъде да стартирате apt-получи команда от терминала.

sudo apt-get install openssh-server

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

ubuntu-install-openssh

Можете да използвате приложението както е, или да редактирате /etc/ssh/sshd_config за да го конфигурирате. Изпълнете човек sshd_config команда в терминала, за да получите повече информация. Друг страхотен ресурс, за да научите повече за OpenSSH, е съответната страница за помощ на Ubuntu.

2. Генериране на ключове

Ще генерираме набор от ключове. Изпълнете следните команди (адаптирани от OpenSSH/Ключове Помощна страница на Ubuntu).

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t RSA

Първата команда създава скрита директория „.ssh“ във вашата домашна папка, втората команда променя разрешенията за достъп до папката, докато третата команда всъщност генерира набор от RSA ключове. Първо ще бъдете помолени за местоположение за запазване на ключовете (оставете празно и натиснете Enter, за да запазите в местоположението по подразбиране) и второ за парола.

rsa-ключ-генерация-mac

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

3. Прехвърлете публичния ключ

След това ще трябва да прехвърлите публичния ключ, който сте генерирали в предишната стъпка, към компютъра на SSH сървъра. Ако вашата клиентска машина също работи с Linux, това може да се постигне много лесно, като изпълните командата по-долу (замествайки и за потребителското име и IP адреса на вашия SSH сървър).

ssh-copy-id @

Ако вашият клиент не поддържа командата ssh-copy-id, вместо това можете да използвате командата по-долу. Това е малко по-заплетено, но по същество постига същите резултати.

котка ~/.ssh/id_rsa.pub | ssh @ "mkdir ~/.ssh; котка >> ~/.ssh/authorized_keys"

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

4. Деактивирайте удостоверяването с парола

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

За да деактивирате удостоверяването с парола, редактирайте /etc/ssh/sshd_config файл в любимия ви редактор. Един от най-лесните начини за редактиране на ограничен файл е отново да използвате терминал. (Аз съм пристрастен към нано, но можете да използвате каквото ви е най-удобно.)

sudo nano /etc/ssh/sshd_config

Ще намерите около 40 реда от дъното на файла

#Удостоверяване с парола да

Премахнете знака за число (#) и променете настройката на „не“, както е по-долу.

Парола за удостоверяване №

Крайният файл трябва да изглежда така:

sshd_config

Запазете файла, като натиснете CTRL+X. Потвърдете редакцията и името на файла и сте почти готови. Просто рестартирайте SSH сървъра, за да го стартирате с тези нови настройки.

sudo рестартирайте ssh

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

Кредит на изображението: Shutterstock

Аз съм писател и студент по компютърни науки от Белгия. Винаги можете да ми направите услуга с добра идея за статия, препоръка за книга или идея за рецепта.