Настройка SSH у Ubuntu

Тэхналогія SSH (Secure Shell) дазваляе праводзіць бяспечнае выдаленае кіраванне кампутарам праз абароненае злучэнне. SSH вырабляе шыфроўку усіх перадаюцца файлаў, уключаючы паролі, а таксама перадае зусім любы сеткавы пратакол. Для карэктнай працы прылады яго неабходна не толькі ўсталяваць, але яшчэ і наладзіць. Менавіта пра твор галоўнай канфігурацыі мы і хацелі б пагаварыць у рамках дадзенага артыкула, узяўшы за прыклад апошнюю версію аперацыйнай сістэмы Ubuntu, на якой будзе размяшчацца сервер.

Наладжвальны SSH у Ubuntu

Калі вы яшчэ не выканалі інсталяцыю на серверны і кліенцкі ПК, варта гэта зрабіць першапачаткова, карысць ажыццяўляецца ўся працэдура досыць проста і не зойме шмат часу. З дэталёвым кіраўніцтвам па гэтай тэме знаёмцеся ў іншай нашай артыкуле па наступнай спасылцы. У ёй таксама паказана працэдура рэдагавання файла канфігурацыі і тэставанне працы SSH, таму сёння мы спынімся крыху на іншых задачах.

Чытаць далей: Усталёўка SSH-server ў Ubuntu

Стварэнне пары ключоў RSA

У толькі што ўстаноўленым SSH яшчэ няма зададзеных ключоў для ажыццяўлення падлучэння ад сервера да кліента і наадварот. Усе гэтыя параметры неабходна задаць ўручную адразу ж пасля дадання ўсіх кампанентаў пратаколу. Пара ключоў працуе з дапамогай алгарытму RSA (скарачэнне ад прозвішчаў распрацоўшчыкаў Rivest, Shamir і Adleman). Дзякуючы гэтай крыптасістэмы праз адмысловыя алгарытмы вырабляецца шыфраванне ключоў. Для стварэння пары адкрытых ключоў вам трэба толькі ўвесці адпаведныя каманды ў кансоль і прытрымлівацца якія з'явіліся інструкцыям.

  1. Перайдзіце да працы з «Тэрміналы» любым зручным метадам, напрыклад, адкрыўшы яго праз меню або камбінацыю клавіш Ctrl + Alt + T.
  2. увядзіце камандуssh-keygen, А затым націсніце на клавішу Enter.
  3. Будзе прапанавана стварыць файл, куды захаваюцца ключы. Калі жадаеце пакінуць іх у размяшчэнні, абраным па змаўчанні, проста націсніце на Enter.
  4. Адкрыты ключ можа быць абаронены кодавай фразай. Калі хочаце выкарыстоўваць гэтую опцыю, у якая з'явілася радку напішыце пароль. Уводныя знакі пры гэтым адлюстроўвацца не будуць. У новым радку спатрэбіцца яго паўтарыць.
  5. Далей вы ўбачыце апавяшчэнне пра тое, што ключ быў захаваны, а таксама зможаце азнаёміцца ​​з яго выпадковым графічным малюнкам.

Цяпер ёсць створаная пара ключоў - сакрэтны і адкрыты, якія будуць выкарыстоўвацца для далейшага падлучэння паміж кампутарамі. Трэба толькі змясціць ключ на сервер, каб аўтэнтыфікацыя SSH праходзіла паспяхова.

Капіяванне адкрытага ключа на сервер

Існуе тры метаду капіявання ключоў. Кожны з іх будзе найбольш аптымальны у розных сітуацыях, калі, напрыклад, адзін з спосабаў не працуе ці не падыходзіць для пэўнага карыстальніка. Мы прапануем разгледзець усе тры варыянты, пачаўшы з самага простага і дзейснага.

Варыянт 1: Каманда ssh-copy-id

камандаssh-copy-idўбудаваная ў аперацыйную сістэму, таму для яе выканання не трэба ўсталёўваць ніякіх дадатковых кампанентаў. Выконвайце просты сінтаксіс, каб скапіяваць ключ. У «Тэрмінале» неабходна ўвесціssh-copy-id username @ remote_host, дзе username @ remote_host - імя аддаленага кампутара.

Пры першым падключэнні вы атрымаеце апавяшчэнне тэкстам:

The authenticity of host '203.0.113.1 (203.0.113.1)' can not be established.
ECDSA key fingerprint is fd: fd: d4: f9: 77: fe: 73: 84: e1: 55: 00: ad: d6: 6d: 22: fe.
Are you sure you want to continue connecting (yes / no)? yes

Трэба пазначыць варыянт yes для працягу злучэння. Пасля гэтага ўтыліта самастойна зоймецца пошукам ключа ў выглядзе файлаid_rsa.pub, Які быў створаны раней. Пры паспяховым выяўленні адлюструецца такі вынік:

/ Usr / bin / ssh-copy-id: INFO: attempting to log in with the new key (s), to filter out any that are already installed
/ Usr / bin / ssh-copy-id: INFO: 1 key (s) remain to be installed - if you are prompted now it is to install the new keys
[email protected]'s password:

Пакажыце пароль ад аддаленага хаста, каб ўтыліта змагла ўвайсці ў яго. Інструмент будзе капіяваць дадзеныя з файла публічнага ключа ~ / .Ssh / id_rsa.pub, А пасля гэтага на экране з'явіцца паведамленне:

Number of key (s) added: 1

Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key (s) you wanted were added.

З'яўленне такога тэксту азначае, што ключ быў паспяхова загружаны на выдалены кампутар, і цяпер не ўзнікне ніякіх праблем з злучэннем.

Варыянт 2: Капіяванне адкрытага ключа праз SSH

Калі ў вас не атрымліваецца скарыстацца згаданай вышэй утылітай, але маецца пароль для ўваходу на выдалены сервер SSH, можаце загрузіць свой карыстацкі ключ ўручную, тым самым забяспечыўшы далейшую стабільную аўтэнтыфікацыю пры злучэнні. Выкарыстоўваецца для гэтага каманда cat, Якая прачытае дадзеныя з файла, а потым яны будуць адпраўленыя на сервер. У кансолі спатрэбіцца ўвесці радок

cat ~ / .ssh / id_rsa.pub | ssh username @ remote_host "mkdir -p ~ / .ssh && touch ~ / .ssh / authorized_keys && chmod -R go = ~ / .ssh && cat >> ~ / .ssh / authorized_keys".

Пры з'яўленні паведамлення

The authenticity of host '203.0.113.1 (203.0.113.1)' can not be established.
ECDSA key fingerprint is fd: fd: d4: f9: 77: fe: 73: 84: e1: 55: 00: ad: d6: 6d: 22: fe.
Are you sure you want to continue connecting (yes / no)? yes

працягнеце падлучэнне і ўвядзіце пароль для ўваходу на сервер. Пасля гэтага адкрыты ключ будзе аўтаматычна скапіяваны ў канец файла канфігурацыі authorized_keys.

Варыянт 3: Ручное капіраванне адкрытага ключа

У выпадку адсутнасці доступу да выдаленага кампутара праз SSH-сервер, усе апісаныя вышэй дзеянні выконваюцца ўручную. Для гэтага спачатку пазнаецца інфармацыя пра ключ на серверным ПК праз камандуcat ~ / .ssh / id_rsa.pub.

На экране будзе адлюстравана прыкладна такая радок:ssh-rsa + ключ у выглядзе набору знакаў == demo @ test. Пасля гэтага перайдзіце да працы на выдаленае прылада, дзе стварыце новую дырэкторыю празmkdir -p ~ / .ssh. У ёй дадаткова ствараецца файлauthorized_keys. Далей ўстаўце туды ключ, які вы даведаліся раней празecho + радок публічнага ключа >> ~ / .ssh / authorized_keys. Пасля гэтага можна спрабаваць праводзіць аўтэнтыфікацыю з серверам без выкарыстання пароляў.

Аўтэнтыфікацыя на сэрвэры праз створаны ключ

У папярэднім раздзеле вы даведаліся аб трох метадах капіявання ключа аддаленага кампутара на сервер. Такія дзеянні дадуць магчымасць падлучыцца без выкарыстання пароля. Выконваецца гэтая працэдура праз камандны радок шляхам уводуshh ssh username @ remote_host, дзе username @ remote_host - імя карыстальніка і хост патрэбнага кампутара. Пры першым падключэнні вы будзеце апавешчаныя аб незнаёмым злучэнні і можаце працягнуць, выбраўшы варыянт yes.

Падключэнне адбудзецца аўтаматычна, калі падчас стварэння пары ключоў не была зададзена ключавая фраза (passphrase). У адваротным выпадку спачатку давядзецца ўвесці яе, каб працягнуць працу з SSH.

Адключэнне аўтэнтыфікацыі па паролі

Паспяховай налада капіявання ключоў лічыцца ў той сітуацыі, калі атрымаецца трапіць на сервер без выкарыстання пароля. Аднак магчымасць аўтэнтыфікацыі такім чынам дазваляе зламыснікам выкарыстоўваць інструменты для падбору пароля і узломваць абароненае злучэнне. Засцерагчы сябе ад такіх выпадкаў дазволіць паўнавартаснае адключэнне ўваходу па паролі ў канфігурацыйным файле SSH. Для гэтага спатрэбіцца:

  1. У «Тэрмінале» адкрыйце канфігурацыйны файл праз рэдактар ​​з дапамогай камандыsudo gedit / etc / ssh / sshd_config.
  2. Знайдзіце радок «PasswordAuthentication» і прыбярыце знак # у пачатку, каб раскаментаваць параметр.
  3. Зменіце значэнне на no і захавайце бягучую канфігурацыю.
  4. Зачыніце рэдактар ​​і перазапусціце серверsudo systemctl restart ssh.

Аўтэнтыфікацыя па паролі адключыцца, і ўвайсці на сервер можна будзе толькі з выкарыстаннем спецыяльна створаных для гэтага ключоў з алгарытмам RSA.

Настройка стандартнага firewall

У Убунту сеткавай абаронай па змаўчанні выступае фаервол Uncomplicated Firewall (UFW). Ён дазваляе дазваляць злучэння для абраных сэрвісаў. Кожны дадатак стварае свой профіль у гэтым інструменце, а UFW кіруе імі, дазваляючы або забараняючы падключэння. Настройка профілю SSH шляхам дадання яго ў спіс ажыццяўляецца так:

  1. Адкрыйце спіс профіляў firewall праз камандуsudo ufw app list.
  2. Калі ласка, увядзіце пароль ад ўліковага запісу для адлюстравання інфармацыі.
  3. Вы ўбачыце ліст даступных прыкладанняў, сярод іх павінен знаходзіцца і OpenSSH.
  4. Цяпер варта дазволіць злучэння праз SSH. Для гэтага дадамо яго ў спіс дазволеных профіляў з дапамогайsudo ufw allow OpenSSH.
  5. Уключыце firewall, абнавіўшы правілы,sudo ufw enable.
  6. Для пераканання ў тым, што злучэння дазволеныя, варта прапісацьsudo ufw status, Пасля чаго вы ўбачыце стан сеткі.

На гэтым нашы інструкцыі па канфігурацыі SSH у Ubuntu завершаны. Далейшыя налады канфігурацыйнага файла і іншых параметраў ажыццяўляюцца асабіста кожным карыстальнікам пад яго запыты. Азнаёміцца ​​з дзеяннем ўсіх складнікаў SSH вы можаце ў афіцыйнай дакументацыі пратаколу.

Глядзіце відэа: Удаленный доступ к Ubuntu установка и настройка openssh (Красавік 2024).