Настройка SSH ў Debian

Anonim

Настройка SSH ў Debian

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

Наладжвальны SSH ў Debian

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

Ўстаноўка SSH-server і SSH-client

Па змаўчанні SSH ўваходзіць у стандартны набор утыліт аперацыйнай сістэмы Debian, аднак з-за якіх-небудзь асаблівасцяў патрэбныя файлы могуць састарэць ці проста адсутнічаць, напрыклад, калі карыстальнік ўручную вырабіў дэўсталёўку. Калі вы маеце патрэбу ў папярэдняй ўстаноўцы SSH-server і SSH-client, запусціце наступную інструкцыю:

  1. Адкрыйце меню «Пуск» і запусціце адтуль «Тэрмінал». Зрабіць гэта можна і праз стандартную камбінацыю клавіш Ctrl + Alt + T.
  2. Пераход да тэрмінала для далейшай ўстаноўкі SSH ў Debian

  3. Тут вас цікавіць каманда sudo apt install openssh-server, якая адказвае за ўстаноўку сервернай часткі. Увядзіце яе і націсніце на Enter для актывацыі.
  4. Увод каманды ў тэрмінале для ўстаноўкі сервера SSH ў Debian

  5. Як вы ўжо ведаеце, дзеянні, якія выконваюцца з аргументам sudo, спатрэбіцца актываваць, паказаўшы пароль суперпользователя. Улічвайце, што ўводзяцца ў дадзеным радку сімвалы не адлюстроўваюцца.
  6. Пацверджанне каманды для ўстаноўкі сервера SSH ў Debian

  7. Вы будзеце апавешчаныя аб тым, што пакеты дададзеныя або абноўленыя. Калі SSH-server ўжо ўсталяваны ў Debian, з'явіцца паведамленне аб наяўнасці названага пакета.
  8. Апавяшчэнне аб завяршэнні інсталяцыі сервера SSH ў Debian

  9. Далей спатрэбіцца дадаць у сістэму і кліенцкую частка, што тычыцца і таго кампутара, да якога ў будучыні будзе ажыццяўляцца падключэнне. Для гэтага выкарыстоўваецца падобная каманда sudo apt-get install openssh-client.
  10. Каманда для ўстаноўкі кліенцкай часткі SSH ў Debian

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

Кіраванне серверам і праверка яго працы

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

  1. Выкарыстоўвайце каманду sudo systemctl enable sshd, каб дадаць сервер у аўтазагрузку, калі гэта не здарылася аўтаматычна. У выпадку патрэбы адмены запуску разам з аперацыйнай сістэмай выкарыстоўвайце systemctl disable sshd. Тады для ручнога запуску спатрэбіцца ўказваць systemctl start sshd.
  2. Каманда для дадання сэрвісу SSH ў Debian для аўтазагрузкі

  3. Усе падобныя дзеянні абсалютна заўсёды павінны быць выкананы ад імя суперпользователя, таму трэба ўводзіць яго пароль.
  4. Ўвод пароля пры даданні сэрвісу SSH ў Debian для аўтазагрузкі

  5. Задзейнічайце каманду ssh localhost для праверкі сервера на працаздольнасць. Заменіце localhost на адрас лакальнага кампутара.
  6. Каманда для падлучэння да лакальнай сеткі праз SSH ў Debian

  7. Пры першым падключэнні вы будзеце апавешчаныя аб тым, што крыніца не з'яўляецца правераным. Гэта адбываецца, паколькі мы яшчэ не выставілі налады бяспекі. Зараз проста пацвердзіце працяг падлучэння, увёўшы yes.
  8. Пацверджанне падлучэння да лакальнай сеткі праз SSH ў Debian

Даданне пары ключоў RSA

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

  1. Адкрыйце «Тэрмінал» і ўвядзіце там ssh-keygen.
  2. Запуск каманды для генерацыі двух пар ключоў пры наладзе SSH ў Debian

  3. Вы можаце самастойна выбраць месца, куды патрабуецца захаваць шлях да ключа. Калі няма жадання яго мяняць, проста націсніце на клавішу Enter.
  4. Ўвод размяшчэння для захоўвання двух пар ключоў SSH ў Debian

  5. Зараз ствараецца адкрыты ключ. Ён можа быць абаронены кодавай фразай. Увядзіце яе ў адлюстраваў радок або пакіньце пустой, калі не жадаеце актываваць дадзеную опцыю.
  6. Ўвод ключавой фразы для доступу да ключоў пры наладзе SSH ў Debian

  7. Пры ўводзе ключавой фразы прыйдзецца пазначыць яе яшчэ раз, каб пацвердзіць.
  8. Пацвярджэнне ўводу ключавой фразы для налады SSH ў Debian

  9. Адлюструецца апавяшчэнне аб стварэнні публічнага ключа. Як бачыце, яму быў прысвоены набор выпадковых сімвалаў, а таксама стварылася малюнак па рандомные алгарытмах.
  10. Паспяховае стварэнне двух пар ключоў пры наладзе SSH ў Debian

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

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

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

Спосаб 1: Каманда ssh-copy-id

Пачнем з самага простага варыянту, якое азначала выкарыстанне каманды ssh-copy-id. Па змаўчанні гэтая ўтыліта ўжо ўбудаваная ў АС, таму ў папярэдняй інсталяцыі не мае патрэбы. Сінтаксіс яе таксама максімальна просты, а ад вас спатрэбіцца выканаць такія дзеянні:

  1. У кансолі увядзіце каманду ssh-copy-id username @ remote_host і актывуйце яе. Заменіце username @ remote_host на адрас мэтавага кампутара, каб адпраўка прайшла паспяхова.
  2. Стандартная каманда для капіявання публічнага ключа ў SSH ў Debian

  3. Пры першай спробе злучэння вы ўбачыце паведамленне "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 ". Выберыце станоўчы адказ, каб працягнуць падлучэнне.
  4. Пацверджанне першага падлучэння да сервера SSH ў Debian пры капіяванні ключоў

  5. Пасля гэтага ўтыліта самастойна зоймецца пошукам і капіяваннем ключа. У выніку, калі ўсё прайшло паспяхова, на экране з'явіцца апавяшчэнне «/ 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: «. Гэта значыць, што можна ўводзіць пароль і пераходзіць да непасрэднага кіраванні выдаленым працоўным сталом.
  6. Інфармацыя аб паспяховым капіяванні ключа SSH ў Debian стандартным спосабам

Дадаткова ўдакладнім, што пасля першай паспяховай аўтарызацыі ў кансолі з'явіцца апавяшчэнне наступнага характару:

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

Капіяванне ключоў SSH ў Debian праз стандартную каманду

На экране павінна з'явіцца апавяшчэнне

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) ?.

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

Спосаб 3: Ручное капіраванне ключа

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

Вызначэнне нумара ключа для далейшага ручнога капіявання SSH ў Debian

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

Падключэнне да выдаленага кампутара для далейшага пераносу ключа SSH ў Debian

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

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

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

  1. Адкрыйце канфігурацыйны файл / etc / ssh / sshd_config праз любы зручны тэкставы рэдактар, гэта можа быць, напрыклад, gedit або nano.
  2. Запуск тэкставага рэдактара для налады канфігурацыйнага файла SSH ў Debian

  3. У якое адкрылася спісе адшукайце радок «PasswordAuthentication» і прыбярыце знак #, каб зрабіць гэтую каманду актыўнай. Памяняйце значэнне yes на no, каб адключыць цікавую для опцыю.
  4. Знаходжанне радкі, якая адказвае за аўтэнтыфікацыю па паролі SSH ў Debian

  5. Па завяршэнні націсніце на Ctrl + O, каб захаваць змены.
  6. Захаванне змяненняў пасля налады аўтэнтыфікацыі па паролі SSH ў Debian

  7. Ня мяняйце назву файла, а проста націсніце на Enter для прымянення налады.
  8. Пацверджанне захавання канфігурацыйнага файла SSH ў Debian

  9. Можна пакінуць тэкставы рэдактар, націснуўшы на Ctrl + X.
  10. Выхад з тэкставага рэдактара пасля налады канфігурацыйнага файла SSH ў Debian

  11. Ўсе змены ўступяць у сілу толькі пасля перазагрузкі службы SSH, таму зрабіце гэта адразу ж праз sudo systemctl restart ssh.
  12. Перазапуск SSH ў Debian пасля ўнясення змяненняў у канфігурацыйны файл

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

Настройка параметру міжсеткавага экрана

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

  1. Для пачатку давайце прагледзім спіс існуючых профіляў. Увядзіце sudo ufw app list і націсніце на Enter.
  2. Прагляд спісу адкрытых падключэнняў міжсеткавага экрана для SSH ў Debian

  3. Пацвердзіце дзеянне, паказаўшы пароль суперпользователя.
  4. Ўвод пароля пры праглядзе спісу падлучэнняў міжсеткавага экрана SSH ў Debian

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

  7. Дазвольце злучэнне праз гэтую ўтыліту, напісаўшы sudo ufw allow OpenSSH.
  8. Даданне SSH ў Debian для міжсеткавага экрана для дазволу падлучэнняў

  9. Уключыце міжсеткавы экран, каб абнавіць правілы. Робіцца гэта праз каманду sudo ufw enable.
  10. Ўключэнне міжсеткавага экрана пасля ўнясення змяненняў SSH ў Debian

  11. Вы ў любы момант можаце праверыць бягучы стан брандмаўэра, увёўшы sudo ufw status.
  12. Прагляд статусу міжсеткавага экрана для адсочвання SSH ў Debian

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

Чытаць далей