У данашње време, када је повезивање на даљину постало норма, корисници и администратори система траже поуздане алате који ће им омогућити безбедан, заштићен и брз приступ удаљеним ресурсима.
Када разматрамо методе за даљинско повезивање, два имена се издвајају као најчешће коришћена: SSH и Telnet.
Који је бољи избор, SSH или Telnet? Овај чланак ће детаљно анализирати који од ова два протокола је бољи за даљински приступ. У наставку ћемо упоредити SSH и Telnet и видети шта је најбоље за вас.
Шта подразумева даљински приступ?
Даљински приступ омогућава корисницима или администраторима да приступе рачунарима или другим уређајима преко мреже, са било које локације користећи Интернет. На тај начин могу да обављају различите задатке, укључујући пренос датотека, сарадњу и управљање мрежним саобраћајем.
Даљински приступ је од изузетног значаја за савремене организације. Администраторима омогућава управљање серверима, мрежама и апликацијама без потребе за физичким присуством на локацији сервера.
Шта је заправо SSH?
Secure Shell, или скраћено SSH, је мрежни протокол који омогућава сигурну комуникацију између рачунара који су повезани на несигурну мрежу.
Након успостављања сигурне везе, корисник или администратор се могу пријавити на удаљену машину и извршавати апликације или користити енкриптовану везу за пренос датотека преко мреже.
SSH представља скуп технологија и алата који имплементирају SSH протокол. Како би се осигурала безбедност SSH везе, примењено је неколико мера, укључујући аутентификацију јавним кључем, енкрипцију података и јаку аутентификацију лозинком.
Компанија Netscape Communications Corporation је заслужна за развој SSH протокола, док је фински научник Тату Илонен креирао прве нацрте. Он је развио протокол након што је открио шпијунски софтвер на његовој новоствореној мрежи који је крао лозинке.
Како функционише SSH?
SSH је заменио старије протоколе за даљинско повезивање, као што су Telnet, rlogin, rsh, који су, иако популарни, имали озбиљне недостатке у безбедности. SSH је постао толико поуздан да се користи уместо протокола за пренос датотека као што су rcp (удаљено копирање) и FTP (протокол за пренос датотека).
SSH ради по моделу клијент-сервер, где се SSH клијент повезује са SSH сервером.
- SSH клијент је програм који се налази на рачунару или уређају који покреће SSH протокол. Клијент шаље захтев SSH серверу и чека да га сервер прихвати. SSH клијент користи шифровање јавним кључем како би био сигуран да се повезује са правим сервером, чиме се спречавају злонамерни актери да се лажно представљају као сервер и украду осетљиве информације од клијента.
- SSH сервер управља SSH конекцијама и покреће услугу. Да би прихватио долазне захтеве, SSH сервер константно „слуша“ на TCP порту 22 (подразумевано) и одговара на захтеве када их прими. SSH сервер такође проверава и аутентификује клијента користећи аутентификацију јавним кључем. Тек након успешне аутентификације, клијенту се дозвољава приступ хост систему.
Клијент и сервер затим бирају метод енкрипције. Такође, могу искључити слабије методе енкрипције. Поред тога, подржава вишеструке везе, омогућавајући обављање више задатака (преузимање, уређивање или покретање програма) кроз отварање више канала у оквиру једне SSH везе.
SSH синтакса изгледа овако:
$ ssh [email protected]
Корисничко име је име налога које користите за повезивање са хостом, а хост може бити ИП адреса или име домена.
Једностављен SSH процес се састоји од следећих корака:
SSH нуди поуздану опцију повезивања уз изврсну сигурност и заштиту интегритета података. Такође прати IETF стандарде и био је сигуран последњих 15 година.
Ако желите да зађете дубље у техничке детаље SSH протокола, можете погледати документ о стандардизацији SSH RFC 4253. Такође, можете погледати вдзвдз-ов чланак о разумевању SSH-а.
Шта је Telnet?
Telnet је скраћеница од Teletype Network. То је још један уобичајен мрежни протокол који омогућава даљинско повезивање преко командне линије. Слично као SSH, може се користити за преузимање даљинске контроле и извршавање радњи. Међутим, он нема безбедносне карактеристике које нуди SSH.
Недостатак сигурности је последица чињенице да када је Telnet настао 1969. године, већина комуникације се одвијала на локалној мрежи, која је била сигурнија у поређењу са несигурним Интернетом.
Како функционише Telnet?
Telnet ради тако што остварује текстуалну комуникацију између терминала и сервера, тј. између клијента и сервера. Користи модел клијент-сервер користећи везу од осам бајтова.
Када је веза успостављена, можете да обављате различите радње на удаљеном рачунару, укључујући проверу отворених портова, конфигурисање уређаја, уређивање датотека, па чак и покретање програма.
Telnet синтакса је:
$ telnet hostname port
За више информација о Telnet-у можете прочитати чланак о Telnet командама за тестирање и решавање проблема са везом.
Када и где треба користити SSH?
SSH се углавном користи за:
- Даљинско администрирање система
- Даљинско извршавање команди
- Заштиту мрежног саобраћаја апликација
- Пренос датотека
Администратори могу такође подесити аутоматизоване SSH сесије за обављање рутинских задатака, као што су прављење резервних копија мреже, прикупљање датотека евиденције, периодично одржавање, итд.
SSH је неопходно користити за све операције даљинског повезивања, посебно на несигурним мрежама, а пре свега преко Интернета. SSH је такође добар избор за коришћење на локалној мрежи, с обзиром на то да никад не можете бити сигурни да је ваша локална мрежа потпуно безбедна.
Када и где треба користити Telnet?
Будући да Telnet није безбедан, треба избегавати његову употребу за даљинско повезивање на несигурним мрежама. Међутим, то не значи да је Telnet бескористан.
Можете користити Telnet за следеће сврхе:
- Решавање проблема са SSH (да, добро сте прочитали 😃)
- Решавање проблема са FTP, SMTP и веб серверима.
- Проверу да ли је одређени порт отворен или не.
- Приступ поузданим интернет мрежама.
SSH против Telnet-а
У овом делу ћемо упоредити SSH и Telnet на основу различитих критеријума. Ако вам се жури, можете погледати упоредну табелу SSH и Telnet.
SSH | Telnet | |
Сигурност | Високо безбедан, клијент и сервер преговарају о алгоритмима за шифровање. | Није безбедан, нема механизам за заштиту везе или Telnet пакета. |
Аутентификација | SSH користи шифровање јавним кључем за аутентификацију. | Telnet нема механизам за аутентификацију. Тражи корисничко име/лозинку, која се преносе без заштите. |
Операција | SSH подразумевано користи TCP порт 22. Може се променити да би се спречили неовлашћени приступи. | Telnet подразумевано користи порт 23 за слушање долазних веза. Може се конфигурисати за заштиту од неовлашћеног приступа. |
Модел | Модел клијент-сервер. | Модел клијент-сервер. |
Брзина преноса | Технички спорији од Telnet-а, али то је скоро неприметно у реалним ситуацијама. | Бржи од SSH-а због одсуства безбедносних протокола. |
Табела: SSH vs Telnet
Безбедност
SSH је сигуран. Штити вашу везу помоћу одговарајућих протокола за шифровање. Насупрот томе, Telnet у потпуности нема безбедносне мере.
Код SSH, клијент и сервер могу преговарати о параметрима везе, укључујући алгоритам енкрипције од краја до краја. Ово омогућава да се избегну слабији алгоритми енкрипције и чини SSH везу што је могуће сигурнијом.
Након успостављања TCP/UDP везе између клијента и сервера, почиње процес успостављања безбедне везе.
Да бисмо боље разумели како функционише SSH безбедност, погледајмо шта садржи SSH пакет. SSH пакет се састоји од пет компоненти:
- Дужина пакета: 4 бајта; величина целог пакета.
- Величина допуне: 1 бајт; колико има допуне у пакету.
- Корисно оптерећење: стварни подаци који се преносе; величина варира.
- Допуна: стварна допуна, а не величина коју смо претходно поменули. То су насумични бајтови у комбинацији са корисним оптерећењем ради додатне заштите.
- Код за потврду аутентичности поруке: ознака за проверу аутентичности пакета како би се осигурало да подаци нису промењени.
Када SSH имплементира шифровање, само су дужина пакета и код за потврду аутентичности поруке видљиви. Клијент и сервер преговарају о параметрима везе путем кода за потврду аутентичности поруке. Поред тога, SSH пакети се могу компримовати помоћу различитих алгоритама компресије.
Telnet-у недостаје сигурност. Он користи необезбеђену аутентификацију за повезивање клијента и сервера. Због тога сваки злонамерни актер може прочитати Telnet пакет и угрозити везу.
Аутентификација
SSH је сигуран протокол. За аутентификацију клијента и сервера користи шифровање јавним кључем. Детаљније, SSH може користити асиметричне или симетричне криптографске алгоритме за упаривање јавних и приватних кључева.
Telnet, са друге стране, нема заштиту за аутентификацију. Његов процес аутентификације тражи име налога и лозинку пре повезивања, а корисничко име и лозинка се шаљу без икакве заштите и стога им може приступити било ко.
Операција
Што се тиче рада, SSH подразумевано користи TCP порт 22, док Telnet користи TCP порт 23. Дакле, ако користите SSH или Telnet протоколе без навођења броја порта, команда ће аутоматски покушати да се повеже са портовима 22 и 23, респективно.
Међутим, ови портови су добро познати и хакери их могу искористити за неовлашћен приступ.
Можете променити портове које SSH и Telnet протоколи користе да бисте избегли ову опасност. Најбоље је затворити уобичајене портове и изабрати портове између 1024 и 65535.
У Telnet-у, команде се шаљу у формату мрежног виртуелног терминала (NVT). Telnet сервер је у стању да прими и разуме тај формат. Као што видите, овде нема шифровања нити аутентификације.
Што се тиче SSH-а, када се успостави веза клијент-сервер, генерише се сесија коју идентификује кључ сесије. Овај кључ шифрује саобраћај све док се сесија не заврши. Поред тога, сервер мора верификовати клијента користећи генерисање пара SSH кључева. Након верификације, креира се канал за шифровање од краја до краја за сигуран пренос података.
Модел
И SSH и Telnet користе модел клијент-сервер, што је добро, с обзиром на то да овај модел доноси више предности, укључујући:
- Могућност хоризонталног скалирања, при чему сервер може додати више ресурса ако је потребно.
- Клијенти се могу оптимизовати за одговарајући унос података.
- Расподелу обраде апликација између клијента и сервера.
Брзина и оптерећење
Да бисмо истински разумели SSH и Telnet, морамо анализирати њихов утицај на перформансе. Углавном, SSH има веће оптерећење од Telnet-а, али у реалним ситуацијама је тешко приметити било какву разлику.
Технички гледано, Telnet и SSH поново генеришу кључеве након 1 сата везе или 1 GB протока података.
Што се тиче пропусног опсега, SSH захтева више, али је то минимално и не утиче на кориснике. Што се тиче оптерећења процесора код клијента и сервера, оно је минимално захваљујући начину на који AES стандард функционише и имплементира се у SSH везама.
Укратко, SSH и Telnet се не разликују много у погледу визуелне брзине и оптерећења. Међутим, технички гледано, SSH има нешто веће захтеве од Telnet-а.
SSH и Telnet случајеви употребе
У овом делу ћемо размотрити неке од случајева употребе SSH и Telnet протокола.
Случајеви употребе SSH
Случајеви употребе SSH укључују:
- Даљинско извршавање команди.
- Сигуран приступ ресурсима удаљене машине.
- Пренос датотека на даљину.
- Испорука ажурирања софтвера на даљину.
- Подешавање аутоматизованог преноса датотека или ручно извршавање преноса.
Случајеви употребе Telnet-а
Случајеви употребе Telnet-а укључују:
- Решавање проблема са SSH.
- Решавање проблема са FTP, SMTP и веб серверима.
- Провера да ли је порт отворен или не.
- Приступ поузданим интернет мрежама.
Завршни закључак: Који је бољи?
SSH је бољи. То је модеран и ажуран мрежни протокол који омогућава сигуран даљински приступ. До сада нису пронађени безбедносни пропусти. Поред тога, једноставан је за коришћење и подешавање.
Telnet је, с друге стране, временом изгубио на значају. Сада има скоро 50 година. Међутим, и даље је користан у одређеним ситуацијама и може се користити за решавање проблема са SSH-ом или за проверу да ли је порт отворен. Администратори могу да користе Telnet за решавање већине проблема са мрежом.