Примарни начин повезивања са Линукс сервером је путем SSH протокола . Ова врста везе је безбедна, јер су сви подаци који се преносе кроз њу шифровани. Да бисте успоставили SSH везу, требало би да је конфигуришете на удаљеном серверу са којим желите да се повежете и на клијенту на страни корисника. Постоји мноштво софтвера за SSH везу. Што се тиче Линукса, OpenSSH пакет је најпопуларнији, а за Виндоус се углавном користи PuTTY.
Хајде да ближе погледамо конфигурацију сервера користећи Убунту Сервер 18.04 као пример, а затим покушајте да се повежете са сервером са Линук-а и Виндовс-а.
Све што радимо биће са обичног корисничког налога. У овом случају, креирали смо корисника „ mihail “, а налог „ root “ је подразумевано онемогућен.
Подешавање на страни сервера
Подесите пакет који покреће ову команду:
sudo apt install openssh-server
Након завршетка инсталације, уверите се да је услуга покренута. Користите ову команду:
systemctl status sshd
Статус „ Активно (у функцији) “ значи да је услуга омогућена и да ради нормално.
Да бисте избегли блокирање долазних веза од стране заштитног зида, обавезно га онемогућите, јер у овом чланку нећемо конфигурисати мрежни заштитни зид.
Користите ову команду:
sudo ufw disable
У овој фази се већ можете повезати са сервером. Са подразумеваним подешавањима сервер омогућава повезивање са стандардним портом 22 са аутентификацијом заснованом на лозинки.
ССХ веза са Линук-а
ОпенССХ клијент је по правилу подразумевано инсталиран на Линук-у и не захтева додатну ручну конфигурацију. Веза се може успоставити са терминала уз помоћ ссх команде. Параметри у овом случају би били корисничко име и ИП адреса удаљеног сервера. На нашем тест серверу који користимо као пример постоји само један налог „михаил“, тако да ћемо користити овај.
ssh [email protected]
При првом повезивању мораћете да потврдите додавање јавног кључа сервера у базу података, па одговорите са „ да “. Након тога можете унети лозинку. Ако је веза успешно успостављена, видећете текст добродошлице командне линије сервера. Сада ће се све команде извршавати директно на удаљеном серверу.
ССХ из Виндовс-а
Отворите Putty и подесите параметре везе. Уверите се да је прекидач „ Тип везе “ постављен на SSH . Унесите IP адресу у поље „ Име хоста “, подразумевану вредност 22 у поље „ Порт “ и кликните на „ Отвори “.
При првом повезивању, Putty ће вас питати да потврдите да верујете овом серверу, па кликните на „ Да “.
Након што унесете корисничко име и лозинку, видећете командну линију удаљеног сервера.
Аутентификација кључем. Повећање нивоа безбедности
Када клијент покушава да успостави безбедну везу са сервером преко ССХ-а, пре него што дозволи везу, сервер захтева да аутентификује (верификује) клијента. Као што је раније поменуто, аутентификација заснована на лозинки се обично користи подразумевано. Не пружа робусну сигурност, јер увек постоји начин да се грубо наметне. Осим тога, аутентификација лозинке није применљива на ССХ конекције уз коришћење скрипти.
За ову врсту задатака постоји посебан метод аутентификације по кључу. Поента је да клијент генерише приватне и јавне кључеве, а затим се јавни кључ шаље серверу. Након тога вам није потребна лозинка за повезивање са сервером, јер се аутентификација врши на основу јавних и приватних кључева клијента. Да би се обезбедио добар ниво безбедности, приступ приватном кључу треба да буде ограничен. Због чињенице да се приватни кључ чува на страни клијента и да се не преноси преко мреже, верује се да је овај метод сигурнији.
Аутентификација кључем на Линук-у
Хајде да генеришемо јавне и приватне кључеве на клијенту уз помоћ услужног софтвера ссх-кеиген. Алат ће предложити промену путање до приватног кључа и унети приступну фразу за додатну сигурност. Оставите све параметре као подразумеване притиском на Ентер при свим захтевима.
Као резултат тога, у почетном директоријуму у фолдеру .ssh наћи ћете две генерисане датотеке: id_rsa и id_rsa.pub које садрже приватне и јавне кључеве.
Након тога, потребно је да пошаљете јавни кључ на сервер. Да бисте то урадили, копирајте садржај датотеке „ id_rsa.pub “ у датотеку „ ~/.ssh/authorized_keys “ на серверу. Идемо најлакшим путем уз помоћ алатке „ ssh-copy-id “. Унесите корисничко име и IP адресу сервера, баш као и код обичног повезивања. Након што унесете лозинку, јавни кључ клијента ће се аутоматски копирати на сервер. Покрените ову команду:
ssh-copy-id [email protected]
Након што све то урадите, сервер више неће захтевати унос лозинке.
Аутентификација помоћу кључа на Виндовс-у
Отворите PUTTYGEN и кликните на „ Генериши “. Да бисте генерисали кључеве, само треба да померите миш преко екрана и алат ће насумично генерисати кључеве.
Након што су кључеви генерисани, кликните на „ Сачувај приватни кључ “ и сачувајте га у датотеку са приватним кључем на вашем диску. Можете подесити било коју путању, али мало касније ћете је морати навести у Putty-ју. Затим копирајте јавни кључ са врха прозора.
Хајде да пошаљемо јавни кључ једноставним копирањем у терминал. Отворите Putty и повежите се са сервером као и обично. Сада хајде да креирамо „ .ssh/authorized_keys “ и ограничимо другим корисницима приступ датотеци, тако да буде доступна само креатору.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Након креирања датотеке, ставите клијентов јавни кључ у њу. У претходној фази копирали смо јавни кључ у клипборд. Да бисте снимили оно што је у клипборду у датотеку, користите цат команду и преусмеравање излаза.
cat > .ssh/authorized_keys
Након што унесете команду, кликните десним тастером миша у прозор терминала и налепите оно што је у међуспремнику. Да бисте потврдили унос, притисните пречицу „ Ctrl+D “ и искључите се са сервера.
Хајде сада да одредимо путању до приватног кључа у Путти-у и поново се повежемо са сервером.
Од сада, да бисте се повезали са сервером, потребно је само да унесете корисничко име. Ако покушавате да се повежете са сервером са другог уређаја који нема прави приватни кључ, сервер ће затражити лозинку. Након што је аутентификација заснована на кључу подешена, можете забранити приступ лозинком.