Асноўны спосаб падключэння да сервера Linux — праз пратакол SSH . Гэты тып падключэння бяспечны, бо ўсе дадзеныя, якія перадаюцца праз яго, шыфруюцца. Каб усталяваць SSH-злучэнне, вам трэба наладзіць яго на аддаленым серверы, да якога вы хочаце падключыцца, і на кліенце з боку карыстальніка. Існуе мноства праграмнага забеспячэння для SSH-злучэння. Што тычыцца Linux, то найбольш папулярным з'яўляецца пакет OpenSSH, а для Windows людзі ў асноўным выкарыстоўваюць PuTTY.
Давайце больш падрабязна разгледзім канфігурацыю сервера на прыкладзе Ubuntu Server 18.04, а затым паспрабуем падключыцца да сервера з Linux і Windows.
Усё, што мы будзем рабіць, будзе адбывацца з уліковага запісу звычайнага карыстальніка. У гэтым выпадку мы стварылі карыстальніка « mihail », а ўліковы запіс « root » па змаўчанні адключаны.
Настройка на баку сервера
Наладзьце пакет з выкананнем гэтай каманды:
sudo apt install openssh-server
Пасля завяршэння ўстаноўкі пераканайцеся, што служба працуе. Выкарыстоўвайце гэтую каманду:
systemctl status sshd
Статус « Актыўны (працуе) » азначае, што служба ўключана і працуе нармальна.
Каб пазбегнуць блакіроўкі ўваходных злучэнняў брандмаўэрам, пераканайцеся, што вы адключылі яго, таму што мы не збіраемся наладжваць сеткавы брандмаўэр у гэтым артыкуле.
Выкарыстоўвайце гэтую каманду:
sudo ufw disable
На гэтым этапе вы ўжо можаце падключыцца да сервера. З наладамі па змаўчанні сервер дазваляе падключацца да стандартнага порту 22 з аўтэнтыфікацыяй на аснове пароля.
SSH злучэнне з Linux
Як правіла, кліент OpenSSH усталяваны ў Linux па змаўчанні і не патрабуе дадатковай ручной налады. Злучэнне можна ўсталяваць з тэрмінала з дапамогай каманды ssh. Параметрамі ў гэтым выпадку будуць імя карыстальніка і IP-адрас аддаленага сервера. На нашым тэставым серверы, які мы выкарыстоўваем у якасці прыкладу, ёсць толькі адзін уліковы запіс «mihail», таму мы будзем выкарыстоўваць яго.
ssh [email protected]
Пры першым падключэнні вам трэба будзе пацвердзіць даданне адкрытага ключа сервера ў базу дадзеных, таму адкажыце « так ». Пасля гэтага вы можаце ўвесці пароль. Калі падключэнне будзе паспяхова ўстаноўлена, вы ўбачыце прывітальны тэкст каманднага радка сервера. Цяпер усе каманды будуць выконвацца непасрэдна на выдаленым серверы.
SSH з Windows
Адкрыйце Putty і ўсталюйце параметры падключэння. Пераканайцеся, што перамыкач « Тып падключэння » ўсталяваны ў становішча SSH . Увядзіце IP-адрас у поле « Імя хаста », у поле « Порт » — значэнне па змаўчанні 22, і націсніце « Адкрыць ».
Пры першым падключэнні Putty папросіць вас пацвердзіць, што вы давяраеце гэтаму серверу, таму націсніце « Так ».
Пасля ўводу лагіна і пароля вы ўбачыце камандны радок выдаленага сервера.
Аўтэнтыфікацыя па ключы. Павышэнне ўзроўню бяспекі
Калі кліент спрабуе ўсталяваць бяспечнае злучэнне з серверам праз SSH, перш чым дазволіць злучэнне, сервер патрабуе аўтэнтыфікацыі (праверкі) кліента. Як згадвалася раней, аўтэнтыфікацыя на аснове пароля звычайна выкарыстоўваецца па змаўчанні. Гэта не забяспечвае надзейную бяспеку, таму што заўсёды ёсць спосаб зрабіць гэта падборам. Акрамя таго, аўтэнтыфікацыя па паролі не прымяняецца да SSH-злучэнняў з выкарыстаннем скрыптоў.
Для гэтага тыпу задач існуе спецыяльны метад аўтэнтыфікацыі па ключы. Справа ў тым, што кліент генеруе прыватны і адкрыты ключы, а затым адкрыты ключ адпраўляецца на сервер. Пасля гэтага вам не спатрэбіцца пароль для падлучэння да сервера, таму што аўтэнтыфікацыя праводзіцца на аснове адкрытых і прыватных кліенцкіх ключоў. Каб забяспечыць добры ўзровень бяспекі, доступ да закрытага ключа павінен быць абмежаваны. З-за таго, што прыватны ключ захоўваецца на баку кліента і не перадаецца па сетцы, гэты метад лічыцца больш бяспечным.
Аўтэнтыфікацыя па ключы ў Linux
Давайце згенеруем адкрыты і прыватны ключы на кліенце з дапамогай утыліты ssh-keygen. Інструмент прапануе змяніць шлях да закрытага ключа і ўвесці парольную фразу для дадатковай бяспекі. Пакіньце ўсе параметры па змаўчанні, націскаючы Enter пры ўсіх запытах.
У выніку ў хатнім каталогу ў тэчцы .ssh будуць створаны два файлы: id_rsa і id_rsa.pub , якія змяшчаюць адпаведна прыватны і адкрыты ключы.
Пасля гэтага вам трэба будзе адправіць адкрыты ключ на сервер. Для гэтага скапіюйце змесціва файла « id_rsa.pub » у файл « ~/.ssh/authorized_keys » на серверы. Давайце пойдзем самым простым шляхам з дапамогай інструмента « ssh-copy-id ». Увядзіце лагін і IP-адрас сервера, як і ў выпадку звычайнага падключэння. Пасля ўводу пароля адкрыты ключ кліента будзе аўтаматычна скапіяваны на сервер. Выканайце наступную каманду:
ssh-copy-id [email protected]
Пасля таго, як вы ўсё гэта зробіце, сервер больш не будзе патрабаваць увод пароля.
Аўтэнтыфікацыя па ключы ў windows
Адкрыйце PUTTYGEN і націсніце « Згенераваць ». Каб згенераваць ключы, вам проста трэба навесці курсор мышы на экран, і інструмент будзе выпадковым чынам генераваць ключы.
Пасля таго, як ключы будуць згенераваны, націсніце « Захаваць прыватны ключ » і захавайце яго ў файл з прыватным ключом на вашым дыску. Вы можаце задаць любы шлях, але крыху пазней вам трэба будзе ўказаць яго ў Putty. Затым скапіюйце адкрыты ключ з верхняй часткі акна.
Давайце адправім адкрыты ключ, проста скапіяваўшы яго ў тэрмінал. Адкрыйце Putty і падключыцеся да сервера, як звычайна. Цяпер давайце створым “ .ssh/authorized_keys ” і абмяжуем доступ да файла іншым карыстальнікам, каб ён быў даступны толькі стваральніку.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Пасля стварэння файла змесціце ў яго адкрыты ключ кліента. На папярэднім этапе мы скапіявалі адкрыты ключ у буфер абмену. Каб запісаць у файл тое, што знаходзіцца ў буферы абмену, выкарыстоўвайце каманду cat і перанакіраванне вываду.
cat > .ssh/authorized_keys
Пасля ўводу каманды пстрыкніце правай кнопкай мышы ў акне тэрмінала і ўстаўце змесціва буфера абмену. Каб пацвердзіць увод, націсніце спалучэнне клавіш « Ctrl+D » і адключыцеся ад сервера.
Зараз давайце ўкажам шлях да закрытага ключа ў Putty і зноў падключымся да сервера.
З гэтага моманту для падлучэння да сервера вам спатрэбіцца толькі ўвесці імя карыстальніка. Калі вы спрабуеце падключыцца да сервера з іншай прылады, якая не мае патрэбнага закрытага ключа, сервер запытае пароль. Пасля наладжвання аўтэнтыфікацыі на аснове ключа вы можаце забараніць доступ з дапамогай пароля.