SSH - nastavenie prístupu na server, príkazy a pripojenie bez hesiel. Ako používam SSH? Rovnako ako inštalácia a konfigurácia (Linux, Windows, macOS, Android, iOS)

  • 23.07.2019

Ďakujem MadKox

Príklad konfiguračného súboru

# Legenda: #
# "Predvolené" znamená správanie sshd, keď #
# nie je explicitne špecifikovaná smernica. Stojí za zmienku, že v Ubuntu #
# súbor sshd_config už obsahuje množstvo nastavení, ktoré #
# sú predvolené hodnoty špecifické pre Ubuntu. #
# Tieto nastavenia sú špecifikované v tomto súbore. #
# #

################ Nastavenia adresy / portu atď. ############
############################################################
# #
## Port ############################################# ## ###
# #
# Použitý port. Môžete zadať niekoľko, napríklad: #
# Port 22 #
# Port 23 #
# Port 24 #
# Odporúča sa použiť neštandardný port ako #
# štandard je často skenovaný robotmi pre položku #
# potenciálnych dier. Ak je uvedené #, možno ho vynechať
# cez adresu. Pozrite si aj parameter ListenAddress. #
# #
Port 8022
# #
## PočúvajAdresu ##########################################
# #
# Sieťová adresa, na ktorej server „počúva“. Adresa môže byť #
# napíš takto: #
# Vypočuť hostiteľaAdresa | IPv4_addr | IPv6_addr #
# Hostiteľ adresy počúvania | IPv4_addr: port #
# ListenAddress: port #
# Ak nie je zadaný žiadny port, sshd bude počúvať na tejto adrese a #
# na porte špecifikovanom vo voľbe Port. Ak budeš #
# použite ListenAddress bez zadania portu, potom možnosť #
# Port musí predchádzať možnosť ListenAddress. Ak nie #
# špecifikovať, potom predvolene počúva na všetkých miestnych #
# adresy. Je možné zadať viacero adries. #
# #
## AdresaRodina ###########################################
# #
# Označuje, ktorá skupina IP adries by mala byť #
# používa sshd. Možné možnosti: #
# „Akýkoľvek“ akýkoľvek #
# „Inet“ (iba IPv4) #
# „Inet6“ (iba IPv6) #
# Predvolená hodnota je „akýkoľvek“. #
AdresaFamily inet
# #
## UseDNS ############################################# # ##
# #
# Určuje, či má sshd kontrolovať názov hostiteľa a #
# pomocou tohto názvu skontrolujte IP adresu prenášanú klientom c #
# prijaté z DNS. #

# #
############################################################
############## Nastavenia prístupu používateľa ###############
############################################################
# #
# Spustiť / zablokovať používateľa definovaného direktívami #
# DenyUsers, AllowUsers, DenyGroups a AllowGroups. #
# zároveň šek prechádza zhora nadol pozdĺž reťaze: #
# ## DenyUsers ## #
# || #
# ## AllowUsers ## #
# || #
# ## DenyGroups ## #
# || #
# ## AllowGroups ## #
# Akceptované sú iba mená používateľov a skupín, číselné #
# identifikátorov (UserID) nebolo rozpoznaných. správne #
# nahrávanie niekoľkých používateľov / skupín postupne cez #
# medzera. Ak je napísané ako používateľ @ hostiteľ, potom #
# používateľ a hostiteľ sú kontrolovaní oddelene, čo umožňuje #
# ohraničiť prístup na konkrétnych používateľov c #
# konkrétnych hostiteľov. Je potrebné pripomenúť, že smernice #
# DenyUsers a AllowUsers berú ako parametre #
# používateľské meno a názov DenyGroups a AllowGroups #
#skupiny. Pozrite si PATTERNS v man ssh_config pre viac #
# informácie o formách zaznamenávania mien používateľov a skupín. #
# #
## DenyUsers ############################################
# #
# Zoznam POUŽÍVATEĽOV, ktorí NEMÔŽU používať sshd. #
# Predvolene neuvedené = nikto nie je zakázaný. Tie. ak #
# tu je zadaný používateľ, potom mu bude odmietnutý prístup #
# na ssh server. #
# #
## AllowUsers ############################################
# #
# Zoznam POUŽÍVATEĽOV, ktorých MÔŽE použiť sshd, #

# je zadaný aspoň jeden používateľ, ssh prístup na server #
# je k dispozícii iba jemu. #
# #
## DenyGroups ############################################
# #
# Zoznam SKUPÍN, ktoré NEMÔŽE použiť sshd. #
# Predvolene nie je špecifikované = žiadna skupina nie je zakázaná. #
# Tj ak je zadaná aspoň jedna skupina, potom používatelia, #
# členom tejto skupiny bude zamietnutý prístup k ssh #
# server. #
# #
## AllowGroups ############################################
# #
# Zoznam SKUPÍN, ktoré môže sshd použiť. #
# Predvolene nešpecifikované = povolené pre všetkých. Tie. ak #
# je zadaná aspoň jedna skupina, potom iba títo používatelia, #
#, ktoré obsahuje, bude mať povolený prístup na ssh server. #
# #
############################################################
######### Možnosti detekcie stavu pripojenia ###########
############################################################
# #
## TCPKeepAlive ##########################################
# #
# Označuje, či má systém odosielať správy TCP klientovi #
# udržiavať spojenie. Ak odošlete tieto pakety, #
# dokáže určiť, či je spojenie prerušené. Toto je však tiež #
# znamená, že spojenie môže byť prerušené, ak #
# krátkodobý výpadok v smerovaní a #
# pre niektorých je to veľmi nepríjemné. Na druhej strane, ak #
# tieto správy nemôžu byť odoslané reláciami na serveri #
#trvá neurčito, čím vznikajú používatelia „duchov“, #
# a požierať zdroje servera. Predvolená hodnota je „áno“, #
# t.j. posielať takéto správy. Ak chcete zakázať odosielanie #
Počet takýchto správ musí byť nastavený na „nie“. Predtým toto #
# možnosť sa volala KeepAlive. Treba poznamenať, že #
#existujú bezpečnejšie spôsoby kontroly stavu #
# pripojení (pozri nižšie). #
# #
TCPKeepAlive áno
# #
## ClientAliveCountMax ####################################
# #
# Nastavuje počet správ klientom, ktorí sshd #
# odošle za sebou bez prijatia odpovede od #
# zákazník. Ak sa dosiahne prah a #
# klient nikdy neodpovedal sshd odpojí klienta prerušením #
# relácia ssh. Je potrebné poznamenať, že použitie takýchto #
Počet správ sa zásadne líši od smernice TCPKeepAlive. #
# Správy klientom / od klientov sa odosielajú cez šifrované #
# kanál, a preto nepodlieha spoofingu. Správy č.
# TCPKeepAlive sú sfalšované. Klient živý mechanizmus #
# obzvlášť cenné, keď server aj klient potrebujú #
# vedieť, kedy sa pripojenie stalo neaktívnym. Predvolené #
# hodnota je 3. V prípade ClientAliveInterval #
# nastaviť rovný
5 a ClientAliveCountMax, ktoré zanechal #
# predvolene budú klienti, ktorí nereagujú, zakázaní približne #
# po 45 sekundách. Táto smernica funguje iba pre #
# protokolu ssh2. #
# #
## ClientAliveInterval ###########################################
# #
# Nastaví časový interval v sekundách. Ak počas #
# tento interval nebol komunikovaný s klientom, sshd #
# odošle správu cez šifrovaný kanál, #
# vyžiadanie odpovede od klienta. Predvolená hodnota je 0, t.j. #
# neposielajte takéto správy. Táto smernica funguje #
# iba pre protokol ssh2. #
# #
############################################################
################ Všeobecné možnosti overenia totožnosti ################
############################################################
# #
## AuthorizedKeysFile #####################################
# #
# Označuje súbor, ktorý obsahuje verejné kľúče, #
# sa používa na overovanie používateľov. Smernica č.
# môže obsahovať značky ako % M, ktoré sú nahradené v #
# v procese vytvárania spojenia. #
# Sú definované nasledujúce značky: #




# Súbor kľúča teda môže byť špecifikovaný ako #
# absolútna cesta (t. j. jeden zdieľaný súbor s kľúčmi) a #
# dynamicky v závislosti od používateľa (t. j. podľa #
# súbor na používateľa). #
# Predvolená hodnota je „.ssh / author_keys“. #
# Príklad súboru kľúča v domovskom priečinku používateľa: #
# AuthorizedKeysFile% h / .ssh / autorizovaný_ kľúč #
# Príklad zdieľaného súboru: #
# AuthorizedKeysFile / etc / ssh / authorized_keys #
# Ďalšie informácie nájdete v popise súboru author_keys #
#informacie. #
# #
## ChallengeResponseAuthentication ########################
# #
# Označuje, či povoliť overenie otázok a odpovedí #
# (overenie na základe výzvy a odpovede). Všetky sú podporované #
# typov autentifikácie z login.conf Predvolene "áno", #
# t.j. dovoliť. #
# Zakázané v Ubuntu z bezpečnostných dôvodov. #
# #
ChallengeResponseAuthentication č
# #
## HostbasedUsesNameFromPacketOnly #########################
# #
# Určuje, ako má server získať názov hostiteľa klienta #
# so schémou autentifikácie založenou na overení hostiteľa. #
# Ak je pri kontrole konzistencie súborov nastavené na "áno" #
# ~ / .shosts, ~ / .rhosts alebo /etc/hosts.equiv sshd bude #
# použite názov hostiteľa poskytnutý klientom. #
# (vykonáva reverzné rozlíšenie DNS) Ak je nastavené na "nie" #
# sshd vyrieši názov zo samotného pripojenia TCP. #
# Predvolená hodnota je "nie". #
# #
## IgnoreRhosts ##########################################
# #
# Zakazuje používanie súborov .rhosts a.shosts #
# počas hostiteľskej autentifikácie. #

# Súbory /etc/hosts.equiv a /etc/ssh/shosts.equiv sú stále #
Používajú sa #. #
# Predvolené nastavenie je „áno“. #
# #
IgnorovaťRhosts áno
# #
## IgnoreUserKnownHosts ###################################
# #
# Označuje, či má sshd ignorovať používateľa #
# súbor "známych hostiteľov" ~ / .ssh / známy_hostiteľ v procese #
# overenie založené na overení hostiteľa #
# (RhostsRSAAuthentication alebo HostbasedAuthentication). #
# Predvolená hodnota je „nie“. #
# #
## Povoliť kľúče na čiernej listine ##################################
# #
# Označuje, či má sshd akceptovať kľúče uvedené v #
# známy-kompromitovaný #
# kľúče (pozri ssh-vulnkey)). Ak je nastavené na „áno“ #
# pokusov o overenie pomocou takýchto kľúčov bude zaznamenaných do #
# prihlásiť a akceptovať, ak je hodnota „no“ pokusy #
# overenia budú odmietnuté. #
# Predvolená hodnota je „nie“. #
# #
## PovoleniePrázdne heslá ###################################
# #
# Ak je povolená autentifikácia heslom, #
# označuje, či je možné sa prihlásiť s prázdnym heslom. #
# Predvolená hodnota je „nie“. #
# #
PovolenieEmptyHeslá č
# #
## PermitRootLogin #######################################
# #
# Označuje, či je možné prihlásenie ssh ako superužívateľ #
# (koreň). Môže nadobúdať hodnoty: #
# „Áno“ superužívateľ sa môže prihlásiť. Platí #
# aktuálna globálna schéma autentifikácie. #
# #
# Superuser „Bez hesla“ sa môže prihlásiť. #
# Overenie hesla bude pre to zakázané. #
# #
# Superužívateľ „iba vynútené príkazy“ sa bude môcť prihlásiť, #
# pomocou overenia verejným kľúčom a #
# iba ak prejde príkazom potrebným na vykonanie. #
# Toto je užitočné pri zálohovaní, #
# aj keď normálne (t. j. nie cez ssh) #
# prihlásenie superužívateľa bolo zamietnuté. Všetky ostatné metódy #
# autentifikácia pre superužívateľa bude zablokovaná. #
# #
# „Nie“ superužívateľ nemôže ssh na #
# Prihlásiť sa. #
# #
# Predvolené nastavenie je „áno“. #
# #
PermitRootLogin č
# #
## Protokol ##############################################
# #
# Určuje, ktorý protokol má sshd používať. #
# Možné hodnoty sú „1“ a „2“ ssh1 a ssh2 #
# resp. Simultánne nahrávanie je možné s #
# ktoré hodnoty by mali byť oddelené čiarkami. #
# Predvolená hodnota je „2.1“. #
# Stojí za zmienku, že poradie protokolov v #
# záznamov neuprednostňuje, pretože klient si vyberie, ktorý #
# z niekoľkých protokolov, ktoré mu server ponúka #
# použite. Záznam "2.1" je úplne rovnaký #
# záznamov "1,2". #
# #
Protokol 2
# #
## UsePAM ############################################# # ##
# #
# Zahŕňa rozhranie Pluggable Authentication Module (PAM) #
# rozhranie). Ak je nastavené na „áno“ pre všetky typy #
# autentifikácia okrem manipulácie s modulom relácie a účtom #
# PAM bude používať autentifikáciu založenú na #
# request-response (ChallengeResponseAuthentication a #
# PasswordAuthentication) Pretože Overenie #
# request-response v PAM zvyčajne plní rovnakú rolu, #
# ako overenie hesla, mali by ste vypnúť #
# buď PasswordAuthentication alebo #
# ChallengeResponseAuthentication. Treba poznamenať, že #
# ak je povolená direktíva UsePAM, nebudete môcť spustiť #
# sshd ako iný používateľ ako root. #
# Predvolená hodnota je „nie“. #
# #
UsePAM áno
# #
## Overenie hesla ################################
# #
# Označuje, či je povolená autentifikácia pomocou #
# heslo. #
# Predvolené nastavenie je „áno“. #
# #
Overenie hesla áno
#
## HostKey ############################################# # #
# #
# Určuje súbor obsahujúci súkromný kľúč hostiteľa, #
# používa SSH. Štandardne / etc / ssh / ssh_host_key #
# pre protokol ssh
a / etc / ssh / ssh_host_rsa_key a #
# / etc / ssh / ssh_host_dsa_key pre protokol ssh2. Náklady #
# všimnite si, že sshd nepoužije súbor, #
# ktorý je prístupný komukoľvek inému ako používateľovi. Môcť #
# použite viacero súborov s kľúčmi, kľúče "rsa1" #
# pre protokol ssh1 a „dsa“ / „rsa“ pre protokol ssh2. #
# #
HostKey / etc / ssh / ssh_host_rsa_key
HostKey / etc / ssh / ssh_host_dsa_key
# #
############################################################
########## Možnosti protokolu SSH verzie 1 (ssh1) #############
############################################################
# Dôrazne sa NEODPORÚČA používať protokol ssh1. #
# Protokol ssh2 je oveľa bezpečnejší ako ssh1 #
############################################################
# #
## KeyRegenerationInterval ###############################
# #
# Pre protokol ssh raz v konkrétnom čase #
# automaticky sa vygeneruje nový dočasný kľúč servera #
# (ak sa používa). Toto sa robí za #
# zabrániť dešifrovaniu zachytených relácií s cieľom #
# neskôr sa prihláste s parametrami týchto relácií do auta a #
# ukradnúť kľúče. Takýto kľúč nie je nikde uložený (uložený v #
# Náhodný vstup do pamäťe). Táto smernica špecifikuje obdobie #
# kľúčový „život“ v sekundách, po ktorých bude #
Znova sa vygenerovalo #. Ak je hodnota nastavená na 0 #
# kľúč nebude vygenerovaný znova. #
# Predvolená hodnota je 3600 (sekúnd). #
# #
KeyRegenerationInterval 3600
# #
## RhostsRSAAutentifikácia ################################
# #
# Označuje, či je potrebná autentifikácia založená na súbore #
# rhosts alebo /etc/hosts.equiv v spojení s úspešným #
# autentifikácia hostiteľa cez RSA. #

# Predvolená hodnota je „nie“. #
# #
RhostsRSAAOverovacie č
# #
## RSAAutentifikácia #####################################
# #
# Označuje, či je povolené čisté overenie RSA. #
# Relevantné iba pre protokol ssh1. #
# Predvolené nastavenie je „áno“. #
# #
RSAA č
# #
## ServerKeyBits #########################################
# #
# Definuje počet bitov v dočasnom kľúči servera pre #
# protokolu ssh1. Minimálna hodnota je 512. #
# Predvolená hodnota je 1024. #
ServerKeyBits 1024
# #
############################################################
########### Možnosti protokolu SSH verzie 2 (ssh2) ############
############################################################
# #
## Šifry ############################################# # #
# #
# Označuje šifrovacie algoritmy povolené pre #
# protokolu ssh2. Viaceré algoritmy by mali byť #
# oddelené čiarkami. Podporované algoritmy: #
# “3des-cbc”, “aes128-cbc”, “aes192-cbc”, “aes256-cbc”, #
# “Aes128-ctr”, “aes192-ctr”, “aes256-ctr”, “arcfour128”, #
# “Arcfour256”, “arcfour”, “blowfish-cbc”, “cast128-cbc”. #

# aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour128, #
# arcfour256, arcfour, aes192-cbc, aes256-cbc, aes128-ctr, #
# aes192-ctr, aes256-ctr #
# #
## HostbasedAuthentication ################################
# #
# Označuje, či je povolená autentifikácia na základe #
# kontrola hostiteľa. Rhosts alebo /etc/hosts.equiv je začiarknutý, #
# a v prípade úspechu v kombinácii s úspešnou kontrolou #
# verejný kľúč, prístup je povolený. Táto smernica č.
# rovnaké ako smernica RhostsRSAAuthentication a #
# je vhodný len pre protokol ssh2. #
# Predvolená hodnota je "nie". #
# #
HostbasedAuthentication č
# #
## MAC ############################################# # ####
# #
# Označuje platný algoritmus MAC (správa #
# autentifikačný kód). Použitý algoritmus MAC #
# protokol ssh2 na ochranu integrity údajov. Niekoľko #
Počet algoritmov musí byť oddelený čiarkami. #
# Predvolená hodnota je: #
# hmac-md5, hmac-sha1, [e-mail chránený], hmac-ripemd160, #
# hmac-sha1-96, hmac-md5-96 #
# #
## PubkeyAuthentication ############################################### ##########
# #
# Označuje, či je povolená autentifikácia na základe #
# verejný kľúč. Relevantné len pre protokol ssh2. #
# Predvolené nastavenie je „áno“. #
# #
PubkeyAuthentication áno
############################################################
##################### Možnosti GSSAPI #########################
############################################################
# #
############ Platí len pre protokol ssh2 ###########
# #
## GSSAPIAutentifikácia ##################################
# #
# Označuje, či je povolená autentifikácia používateľa na #
# založené na GSSAPI. Predvolená hodnota je "nie", t.j. zakázané. #
# #
## GSSAPIKeyExchange ######################################
# #
# Označuje, či je povolená výmena kľúčov na základe #
# GSSAPI. Výmena kľúčov s GSSAPI sa nespolieha na #
# kľúče ssh pri overovaní identity hostiteľa. #
# Predvolená hodnota je "nie", t.j. výmena je zakázaná. #
# #
## GSSAPICleanupCredentials ###############################
# #
# Označuje, či sa má automaticky zničiť #
# vlastná vyrovnávacia pamäť overovacích poverení, keď #
# ukončiť reláciu. #
# Predvolená hodnota je „áno“, t.j. treba zničiť. #
# #
## GSSAPIStrictAcceptorCheck ############################################### #######
# #
# Označuje, aká prísna by mala byť kontrola #
# identita klienta pri overení pomocou GSSAPI. #
# Hodnota "yes" núti klienta autentifikovať sa proti #
# služba prijímajúceho hostiteľa na aktuálnom hostiteľovi. Význam "nie" #
# umožňuje klientovi autentifikáciu s ľubovoľným #
# servisný kľúč. #
# Predvolená hodnota je "áno". #
# Všimnite si, že nastavenie hodnoty na "nie" môže #
# funguje iba so zriedkavými knižnicami Kerberos GSSAPI. #
# #
############################################################
#################### Možnosti Kerberos ########################
############################################################
# #
## KerberosAuthentication ##################################
# #
# Označuje, či zadané heslo # vyžaduje
# používateľ na overenie #
# (Overenie hesla) Overenie Kerberos KDC. #
# Ak chcete použiť túto možnosť, server potrebuje #
# uistite sa, že KDC je platné. (Server potrebuje #
# Kerberos servtab, ktorý umožňuje overenie #
# Identita KDC) #
# Predvolená hodnota je „nie“. #
# #
## KerberosGetAFSToken ####################################
# #
# Ak je AFS aktívny a používateľ dostal Kerberos 5 TGT, #
# či sa pokúsiť získať token AFS pred používateľom #
# pristúpi k svojmu domovskému priečinku. #
# Predvolená hodnota je „nie“. #
# #
## KerberosOrLocalPasswd ###################################
# #
# Označuje, čo robiť v prípade overenia #
# cez Kerberos zlyhalo. Ak #
# value = "áno" heslo bude overené pomocou #
# akýkoľvek dodatočný miestny autorizačný mechanizmus, #
# napríklad / etc / passwd. #
# Predvolené nastavenie je „áno“. #
# #
## KerberosTicketCleanup ###################################
# #
# Označuje, či sa má súbor c # automaticky zničiť
# cache užívateľa tiket na konci relácie. #
# Predvolené nastavenie je „áno“. #
# #
############################################################
################# Možnosti presmerovania ####################
############################################################
# #
## AllowAgentForwarding ####################################
# #
# Určuje, či povoliť alebo zakázať presmerovanie #
# ssh-agent "a. Predvolená hodnota je áno, tj povoliť. #
# Upozorňujeme, že zakázanie presmerovania nie je #
# zvýšiť bezpečnosť, kým používatelia nebudú mať tiež #
# prístup k shellu je odmietnutý, pretože vždy môžu nainštalovať #
# svojich vlastných agentských náprotivkov. #
# #
AllowAgentForwarding č
# #
## AllowTcpForwarding ####################################
# #
# Označuje, či sa má povoliť alebo zakázať presmerovanie TCP. #
# Predvolená hodnota je „áno“, t.j. dovoliť. Nestojí to za nič, #
# čo je prípad vypnutia AllowAgentForwarding #
# presmerovania nezvýšia bezpečnosť, kým #
# používatelia budú mať prístup ku konzole, pretože môžu #
# nainštalujte svoje náprotivky. #
# #
# #
AllowTcpForwarding č
# #
## GatewayPorts ##########################################
# #
# Označuje, či povoliť vzdialeným hostiteľom prístup #
# presmerovaných portov. V predvolenom nastavení sshd počúva #
# pripojenia k presmerovaným portom iba na miestnych #
# rozhranie (loopback). Toto nedáva ďalšie diaľkové ovládanie #
# hostitelia sa pripájajú k presmerovaným portom. Môcť #
# použite GatewayPorts na povolenie sshd toto #
# urobiť. Direktíva môže mať 3 hodnoty: #
# "nie" iba spätná slučka. #
# "áno" - akékoľvek adresy. #
# "clientspecified" adresy zadané klientom. #
# #
Porty brány č
# #
## PovolenieOtvoriť #############################################
# #
# Označuje, kde je povolené presmerovanie portov TCP. #
# Zadanie presmerovania musí mať jedno z #
# z nasledujúcich foriem: #
# Hostiteľ povolenia na otvorenie: port #
# PermitOpen IPv4_addr: port #
# PermitOpen: port #
# Viaceré položky je možné zadať oddelením medzerami. #
# Argument "akýkoľvek" možno použiť na odstránenie všetkých #
# zákazy presmerovania portov. Predvolene akékoľvek #
# presmerovanie je povolené. #
# #
## PovolenieTunnel ##########################################
# #
# Označuje, či je povolené presmerovanie zariadenia tun. #
# Môže nadobúdať hodnoty: #
# "Áno" #
# „Point-to-point“ (3. sieťová vrstva) #
# "Ethernet" (2. sieťová vrstva) #
# „Nie“ #
# Hodnota "yes" umožňuje obe "point-to-point" #
# a ethernet. Predvolená hodnota je „nie“. #
# #
############################################################
################## Možnosti protokolovania ####################
############################################################
# #
## SyslogFacility #########################################
# #
# Nastaví objektový kód protokolu na zapisovanie správ do #
# systémový protokol z sshd. Možné hodnoty: #
# DAEMON #
# POUŽÍVATEĽ #
#AUTH#
# LOCAL0 #
# LOCAL1 #
# LOCAL2 #
# LOCAL3 #
# LOCAL4 #
# LOCAL5 #
# LOCAL6 #
# LOCAL7 #
# Predvolená hodnota je AUTH. #
# #
SyslogFacility AUTH
# #
## LogLevel ############################################# #
# #
# Nastavuje úroveň výrečnosti protokolu sshd. #
# Možné možnosti: #
#TICHO #
#TICHO #
# FATAL #
# CHYBA #
# INFO #
#POVEDANÉ #
# DEBUG #
# DEBUG1 #
# DEBUG2 #
# DEBUG3 #
# Predvolené INFO. #
# DEBUG a DEBUG
sú navzájom ekvivalentné. #
# DEBUG2 a DEBUG3 nastavujú najvyššie úrovne ladenia #
# výstupu. Protokolovanie úrovne DEBUG ohrozuje #
# súkromia používateľa a neodporúča sa. #
# #
LogLevel INFO
# #
############################################################
################### Presmerovanie X

####################
############################################################
# #
## X11Preposielanie #########################################
# #
# Označuje, či je povolené grafické presmerovanie #
# Subsystémy X11. Môže to byť „áno“ alebo „nie“. #
# Predvolená hodnota je „nie“. #
# Pozor umožňujúci jednoduché presmerovanie X11 #
# veľké riziko pre server aj klientov, pretože v #
# v prípade takéhoto presmerovania zobrazí sshd proxy #
# prijíma spojenia z ľubovoľných adries. Použiť #
# Direktíva X11UseLocalhost na obmedzenie prístupu k #
# server presmerovania "x". Treba poznamenať, že #
# zakázanie presmerovania nezaručí, že #
# používatelia nebudú môcť presmerovať X11, pretože majúci #
# prístup ku konzole si vždy nastavili #
# presmerovač. Presmerovanie X11 bude #
# automaticky vypnuté, ak je povolené #
# Direktíva UseLogin. #
# #
X11Preposielanie č
# #
## X11UseLocalhost ########################################
# #
# Označuje, či má sshd obmedziť rozsah #
# Presmerovanie X11 s adresou lokálnej slučky alebo #
# musí povoliť akékoľvek adresy. Predvolené sshd #
# presunie server presmerovania X11 na lokálnu adresu #
# a nastaví časť premennej prostredia DISPLAY zodpovedajúcu #
# pre názov hostiteľa ako „localhost“. Treba poznamenať, že #
# niektorí starší klienti X11 nemusia s týmito #
# nastavenie. Predvolená hodnota je „áno“, t.j. presmerovanie #
# obmedzené lokálnym hostiteľom, hodnota „no“ zakáže #
# obmedzení. #
# #
## XAuthLocation #########################################
# #
# Určuje úplnú cestu k programu xauth. #
# Predvolene / usr / bin / X11 / xauth. #
# #
## X11DisplayOffset ######################################
# #
# Určuje číslo prvého displeja prístupného pre sshd v #
# ako X11 presmerovanie. Toto sa robí s cieľom #
#, aby sa zabránilo kolíziám presmerovaných xes s #
# reálny. Predvolená hodnota je 10. #
# #
X11DisplayOffset10
# #
############################################################
################### Rôzne možnosti ########################
############################################################
# #
## LoginGraceTime #########################################
# #
# Čas, po ktorom sa server odpojí #
# používateľa, ak nemohol uspokojivo #
# Prihlásiť sa. Hodnota 0 umožňuje užívateľovi #
# prihlásenie na neurčito. Predvolená hodnota je 120 (sekúnd). #
# #
LoginGraceTime 120
# #
## MaxAuthTries ###########################################
# #
# Určuje maximálny počet pokusov o overenie, #
# povolené pre jedno pripojenie. #
# Hneď ako počet neúspešných pokusov presiahne polovicu #
# zadanú hodnotu, všetky nasledujúce pokusy budú #
# byť prihlásený. Predvolená hodnota je 6. #
# #
MaxAuthTries 4
# #
## MaxSessions ###########################################
# #
# Určuje maximálny počet súbežných pripojení #
# pre každé sieťové pripojenie. Predvolená hodnota je 10. #
# #
MaxSessions1
# #
## MaxStartups ###########################################
# #
# Určuje maximálny počet simultánnych #
# neoprávnené pripojenia k sshd. Ak #
# počet pripojení prekročí limit všetky ďalšie #
# pripojení bude zrušených, kým budú aktuálne #
# pripojení sa nedokončí ani s úspešnou autorizáciou, #
# alebo uplynutie časového obdobia uvedeného v smernici #
# LoginGraceTime. Predvolená hodnota je 10. #
# Okrem toho môžete nastaviť skorý reset pripojení, #
# špecifikovaním troch hodnôt ako parametra oddelených #
# s dvojbodkou „start: rate: full“ (napríklad: „10:30:60“). #
# sshd odmietne pokus o pripojenie s pravdepodobnosťou #
# “Rate / 100” (tj v našom príklade 30%), ak už #
# existujú neoprávnené pripojenia „štart“ (10). #
# Pravdepodobnosť sa zvyšuje lineárne a akékoľvek pokusy #
# pripojení bude odmietnutých, ak počet neoprávnených #
Počet pripojení dosiahne „plný“ (60). #
# #
## Kompresia ###########################################
# #
# Označuje, či je povolená kompresia údajov. Možno #
# "yes" kompresia je povolená. #
# "oneskorená" kompresia je odložená do #
# používateľ nie je úspešne overený. #
# "nie" kompresia je zakázaná. #
# Predvolená hodnota je "oneskorená". #
# #
## UseLogin ############################################# #
# #
# Označuje, či by sa prihlásenie malo použiť pre #
# interaktívnej relácie. Predvolená hodnota je „nie“. #
# Stojí za zmienku, že prihlásenie nebolo nikdy použité pre #
# vykonávať vzdialené príkazy. Všimnite si tiež, že #
# pomocou prihlásenia nebude možné použiť #
# X11Posielanie príkazov, pretože prihlásenie nepozná #
# má čo do činenia s xauth. Ak je zahrnutá smernica #
# UsePrivilegeSeparation bude deaktivované po #
# autorizácia. #
# #
## UsePrivilegeSeparation ############################################## #########
# #
# Označuje, či má sshd zdieľať privilégiá. Ak áno #
# potom sa najskôr vytvorí neprivilegované dieťa #
# proces pre prichádzajúcu sieťovú prevádzku. Po úspešnom #
# autorizácia vytvorí sa ďalší proces s privilégiami #
# aktuálne prihláseného používateľa. Hlavný účel rozdelenia #
# Privilégiá Zabraňujú zneužitiu prístupu. #
# Predvolené nastavenie je „áno“. #
# #
UsePrivilegeSeparation áno
# #
## StrictModes ############################################
# #
# Označuje, či má sshd kontrolovať režimy prístupu a #
# vlastníctvo vlastných priečinkov a súborov pred #
# nechajte používateľa prihlásiť sa. Zvyčajne je to preto, že #
#začiatočníci často umožňujú zapisovať do svojich súborov #
# všetko v rade. Predvolená hodnota je „áno“. #
# #
StrictModes áno
# #
## AcceptEnv #############################################
# #
# Označuje, ktoré premenné prostredia prešli #
Bude prijatý # zákazník. Pozrite si možnosť SendEnv na klientovi. #
# Treba poznamenať, že odovzdávanie premenných je možné iba #
# pre protokol ssh2. Premenné sú špecifikované názvom, #
Môžete použiť # masky (* a?). Môžete zadať #
# niekoľko premenných oddelených medzerou alebo rozdelených na #
# viac riadkov AcceptEnv. Dávajte si pozor na niektoré #
# premenné prostredia možno použiť na prechod #
# zakázaných používateľských prostredí. Použi toto #
# smernica opatrne. V predvolenom nastavení nie #
# vlastné premenné prostredia nie sú akceptované. #
# #
AcceptEnv LANG LC_ *
# #
## PovoleniePoužívateľskéProstredie ###################################
# #
# Označuje, či má sshd akceptovať #
# ~ / .ssh / prostredie a prostredie = možnosť v #
# ~ / .ssh / autorizované kľúče. Predvolená hodnota je „nie“. Náklady #
# všimnite si, že je možné udeliť povolenie na spracovanie prostredia #
# používatelia môžu obísť obmedzenia v niektorých #
# konfigurácií pomocou mechanizmov ako #
# LD_PRELOAD. #
# #
# #
## PidFile ############################################# # #
# #
# Určuje súbor obsahujúci ID procesu #
# (ID procesu, PID) démona SSH. #
# Predvolené /var/run/sshd.pid #
# #
# #
## PrintLastLog ###########################################
# #
# Určuje, či má sshd zobrazovať dátum a čas #
# posledných sedem, keď sa používateľ interaktívne prihlási. #
# Predvolené nastavenie je „áno“. #
# #
PrintLastLog áno
# #
## PrintMotd ##############################################
# #
# Určuje, či má sshd zobrazovať / etc / motd #
# keď sa používateľ prihlási interaktívne. Na niektorých #
# systémov (napr. Ubuntu) táto informácia je tiež #
# je vytlačené na obrazovke pomocou plášťa. #
# Predvolené nastavenie je „áno“. #
# #
PrintMotd č
# #
## Banner ############################################## # ##
# #
# Označuje, ktorý súbor obsahuje textový banner, ktorý #
# sa používateľovi zobrazí PRED postupom #
# Overenie. Táto možnosť je dostupná len pre protokol ssh2. #
# Predvolene nezobrazuje nič. #
# V Ubuntu obsahuje súbor issue.net frázu Ubuntu (verzia), #
# napríklad pre karmu je to "Ubuntu 9.10". Môcť #
# použiť na dezorientáciu potenciálnych útočníkov, #
# napíšte tam napríklad "My D-Link Interet Router" =) #
# #
Banner /etc/issue.net
# #
## ChrootDirectory ########################################
# #
# Ak je zadaný, poskytuje cestu k #
# chroot spustený po overení. Cesta a to všetko #
# obsah sa musí zhodovať s obsahom #
# priečinkov superuser a nebudú prístupné pre #
# záznamov od iných používateľov. #
# Cesta môže obsahovať označenia nahradené znakmi #
# proces overovania: #
# %% je nahradené doslovným "%" #
#% h je nahradené domovským adresárom #
# overeného používateľa #
#% u je nahradené menom overujúceho používateľa #
# priečinok chroot by mal obsahovať všetky potrebné súbory a #
# priečinkov pre reláciu používateľa. Pre interaktívne #
Je potrebných aspoň # relácií: #
# shell, zvyčajne sh #
# základné zariadenia v / dev ako: #
# null, zero, stdin, stdout, stderr, arandom a tty #
# pre reláciu prenosu údajov pomocou sftp, nie #
# pri použití nie sú potrebné žiadne ďalšie nastavenia #
# interný proces servera sftp. Pozri subsystém pre #
# Pre viac informácií. V predvolenom nastavení sa nevykoná žiadny chroot. #
# #
## ForceCommand ###########################################
# #
# Vynúti vykonanie zadaného príkazu. Ignoruje #
# akékoľvek príkazy zadané klientom alebo napísané v #
# ~ / .ssh / rc. Príkaz sa volá od užívateľa #
# shelly s voľbou -c. Vhodné na odpálenie škrupiny, #
# príkazy alebo podsystémy. Najužitočnejšie v bloku #
# Zápas. Príkaz pôvodne zadaný klientom je uložený #
# v premennej prostredia SSH_ORIGINAL_COMMAND. Ak #
# zadajte príkaz "internal-sftp", spustí sa #
# interný sftp server, ktorý nepotrebuje žiadne ďalšie #
# súborov a priečinkov popísaných v direktíve ChrootDirectory. #
# #
## Subsystém ############################################
# #
# Definuje a konfiguruje externý podsystém (napríklad #
# démon prenosu súborov). #
# Argumenty sú meno a príkaz (s možnými #
# argumentov), ​​ktoré sa majú vykonať počas požiadavky #
# do podsystémov. Príkaz Sftp-server spustí „sftp“ #
# subsystém prenosu súborov. Okrem toho môžete zadať #
# ako podsystém „internal-sftp“, ktorý sa spustí #
# interný sftp server. Môže to výrazne uľahčiť #
# nastavenie v prípade použitia direktívy #
# ChrootDirectory V predvolenom nastavení nie sú žiadne podsystémy #
# sa nevolá. Relevantné len pre protokol ssh2. #
# #
#Subsystém sftp / usr / lib / openssh / sftp-server #
# #
############################################################
###################### Blok zápasu #########################
############################################################
# #
# Zámerne presunuté na koniec súboru, aby to bolo pohodlnejšie #
# napíšte pravidlá zápasu. #
# MadKox. #
# #
# Direktíva Match je začiatkom podmieneného #
# blok. Ak sú splnené všetky kritériá uvedené v riadku #
# Zhoda, vykonajú sa príkazy v nasledujúcich riadkoch bloku, #
# vám umožňuje obísť hodnoty globálnych súborových direktív #
# sshd_config pre prípad kritéria direktívy #
# Zápas. Všetky riadky nasledujúce po riadku # sa považujú za blok.
# s kritériom (reťazce zhody) do ďalšieho reťazca zhody #
# alebo na koniec súboru. Argument direktívy Match je jedna alebo #
# niekoľko párov záznamov kritérií. Možné typy záznamov: #
# Používateľ #
#Skupina #
# Hostiteľ #
# Adresa #
# Záznamy môžu obsahovať obe jednotlivé hodnoty #
# (napríklad Používateľ = používateľ) a niekoľko hodnôt, #
# oddelené čiarkou (Používateľ = používateľ1, používateľ2). Môžu tiež #
# použite regulárne výrazy popísané v #
# PATTERNS sekcia ssh_config. Záznamy v kritériách č.
# Adresy môžu obsahovať adresy v notácii CIDR #
# (Adresa / dĺžka masky, napríklad „192.0.2.0/24“ alebo #
# “3ffe: ffff :: / 32”). Stojí za zmienku, že prezentovaný #
# dĺžka masky sa musí zhodovať s adresou a tiež #
# dlhé / krátke pre adresu nebude fungovať. #
# Ako príkazy Match môže použiť iba #
# konkrétna sada smerníc: #
# AllowTcpForwarding #
# Banner #
# ChrootDirectory #
# ForceCommand #
# GatewayPorts #
# GSSAPIAutentifikácia #
# HostbasedAuthentication #
# KbdInteractiveAuthentication #
# KerberosAuthentication #
# MaxAuthTries #
# MaxSessions #
#Overenie hesla #
#PovolenieOtvoriť #
# PermitRootLogin #
# RhostsRSAAutentifikácia #
# RSAAoverenie #
# X11DisplayOffset #
# X11 Preposielanie #
# X11UseLocalHost #

Len malá poznámka ku konfigurácii, deaktivovala možnosť prihlásiť sa cez ssh ako root, takže ak " amatérsky"zmeňte nastavenie PermitRootLogin na áno

Ak chcete skopírovať vyššie uvedenú konfiguráciu do vášho unixového počítača
Prejdite do adresára, kde je uložený konfiguračný súbor sshd_config

Sudo cd / etc / ssh

Keďže sme vytvorili záložnú kópiu súboru sshd_config, odstráňte ju

Sudo rm sshd_config

Stále v adresári / etc / ssh skopírujte vyššie uvedený konfiguračný súbor ssh z webovej stránky itautsors,

Sudo wget http: // site / sshd_config

Reštartujte démona

Reštart služby sudo ssh

Uistite sa, že je spustený démon SSH

Ps -A | grep sshd

Niečo také uvidíme

<какой то номер>? 00:00:00 sshd

Ak neexistuje žiadny riadok, potom démon SSH nebeží,

Skontrolujte, či prichádzajúce pripojenia počúvajú:

Sudo ss -lnp | grep sshd

Ako odpoveď dostávame

0 128 ::: 22 ::: * používatelia: (("sshd", 16893.4)) 0 128 *: 22 *: * používatelia: (("sshd", 16893.3))

Ak existuje viac ako jeden riadok, potom SSH démon počúva na viac ako jednom porte, ak nie na jednom, musíte zadať aspoň jeden port, v oboch prípadoch je potrebné vrátiť a upraviť konfiguračný súbor

Skúsme sa prihlásiť z lokálneho počítača (to znamená, že ideme z toho istého PC, na ktorom konfigurujeme ssh server, takpovediac úvodnú kontrolu), (nezabudnite, že náš port nie je štandardný 8022):

Ssh -v localhost -p 8022

Zobrazia sa informácie o ladení a zobrazí sa výzva na zadanie hesla.
Po úspešnom pripojení na ukončenie napíšte:

Poďme nakonfigurovať prístup na OpenSSH Server pomocou klienta OpenSSH s autorizáciou kľúča

Dané: Hostiteľ OpenSSH Server, na ktorý sa v budúcnosti chceme prihlásiť cez ssh pod užívateľom NameUserOnOpenSSHServer z hostiteľa OpenSSH Client Vygenerujme si pár kľúčov na Host, z ktorého sa chceme pripojiť (OpenSSH Client). Skontrolujte, či už bol pár kľúčov vygenerovaný.
Po odsúhlasení miesta, kde je kľúč uložený (/home/NameUserOnOpenSSHClient/.ssh/id_rsa) možno nechať heslo prázdne, potom pri autentifikácii certifikátom nebude šetrné zadávať heslo, ktoré je menej bezpečné, ale oveľa pohodlnejšie (v našom príklade nebudeme zadávať heslo):

Ssh-keygen -t rsa -b 4096

V domovskom priečinku ~ / .ssh používateľa, pod ktorým bolo generovanie spustené (v našom príklade NameUserOnOpenSSHClient) súbory sa objavia na hostiteľovi klienta OpenSSH:

~ / .ssh / id_rsa.pub verejnosti
~ / .ssh / id_rsa súkromné

Nastavíme práva na priečinok a súbory
Nezáleží na tom, pod ktorým užívateľom spustíme generovanie na OpenSSH Client, jediný, kto sa prihlasuje na vzdialený počítač OpenSSH Server bude musieť byť pod týmto užívateľom, keďže budú nastavené nasledovné práva (tieto práva musia byť nastavené tak, aby súkromný kľúč nie je ohrozený):

$ chmod 0700 ~ / .ssh / $ chmod 0600 ~ / .ssh / id *

Verejný kľúč prenesieme z klienta na server pre používateľa, pod ktorým sme, pomocou príkazu ssh-copy-id do súboru ~ / .ssh / author_keys, ak port, na ktorom server počúva, nie je štandardný , musíte ho zaregistrovať pomocou prepínača -p a uzavrieť ho do úvodzoviek. Kľúč je možné preniesť akýmkoľvek spôsobom, pretože je verejný.

Ssh-copy-id "-p 8022 [e-mail chránený]"

NameUserOnOpenSSHServer je používateľ, pod ktorým sa budeme v budúcnosti prihlasovať na vzdialený počítač.
Ďalej musíte zadať heslo pre používateľa NameUserONOpenSSHServer a po úspešnej autorizácii sa nám zobrazí nápoveda:

Teraz sa pokúste prihlásiť do počítača pomocou "ssh" [e-mail chránený]"" a skontrolujte: ~ / .ssh / autorizované_keys, aby ste sa uistili, že sme "nepridali ďalšie kľúče, ktoré ste neočakávali".

Prihlásime sa na Host cez ssh a skontrolujeme obsah súboru (v tomto súbore môžu byť zapísané aj iné kľúče, hľadáme ten náš.) NameUserONOpenSSHServer / .ssh / autorizované kľúče:

Sudo ssh " [e-mail chránený]"sudo cat /home/NameUserONOpenSSHServer/.ssh/authorized_keys

Musí zodpovedať obsahu súboru NameUserONOpenSSHClient / .ssh / id_rsa.pub

Sudo mačka /home/NameUserONOpenSSHClient/.ssh/id_rsa.pub

Sudo mcedit / etc / ssh / sshd_config

Stlačte F7, vyhľadajte PubkeyAuthentication, RSAAuthentication, AuthorizedKeysFile
riadky musia byť odkomentované / nastavené parametre (skontrolujte):

# povoliť používanie RSA kľúčov RSAAuthentication yes # ak je použitie SSH1 nežiaduce # povoliť autorizáciu pomocou kľúčov PubkeyAuthentication áno # Cesta, kde sa budú kľúče nachádzať, pomocou ktorej môžete pre každého používateľa pripojiť vlastný súbor v jeho adresári. AuthorizedKeysFile% h / .ssh / autorizované kľúče

Reštartujte server SSH

Reštart služby sudo ssh

Nastavíme práva na súbor /home/NameUserOnOpenSSHServer/.ssh/authorized_keys

Chmod 0600 ~ / .ssh / autorizované kľúče

Ukončíme konzolu OpenSSHServer, pokúsime sa prihlásiť z klienta na server pomocou certifikátu, zadať riadok a mali by sme sa dostať do konzoly OpenSSHServer bez zadania hesla (ak ste pri generovaní kľúčov nezadali heslo)

Ssh [e-mail chránený]

Alebo skrátene SSH, je jednou z najpokročilejších technológií na ochranu dát pri prenose. Použitie tohto režimu na tom istom smerovači vám umožňuje zabezpečiť nielen dôvernosť prenášaných informácií, ale aj urýchliť výmenu paketov. Je pravda, že nie každý vie, ako je to SSH a prečo je to všetko potrebné. V tomto prípade budete musieť poskytnúť konštruktívne vysvetlenie.

Port SSH: čo to je a prečo ho potrebujete?

Keďže hovoríme o bezpečnosti, v tomto prípade treba SSH port chápať ako vyhradený komunikačný kanál vo forme tunela, ktorý zabezpečuje šifrovanie dát.

Najprimitívnejšia operácia takéhoto tunela je, že otvorený port SSH sa štandardne používa na šifrovanie informácií v zdroji a dešifrovanie na koncovom bode. Dá sa to vysvetliť takto: či sa vám to páči alebo nie, prenášaná prevádzka je na rozdiel od IPSec násilne šifrovaná ako na výstupe jedného sieťového terminálu, tak aj na vstupe prijímacej strany. Na dešifrovanie informácií prenášaných cez tento kanál prijímací terminál používa špeciálny kľúč. Inými slovami, nikto nemôže bez kľúča zasahovať do prenosu alebo narúšať integritu prenášaných údajov.

Len otvorenie portu SSH na ľubovoľnom smerovači alebo použitie vhodných nastavení ďalšieho klienta, ktorý priamo komunikuje so serverom SSH, vám umožní naplno využiť všetky možnosti zabezpečenia moderných sietí. Ide o to, aby ste použili predvolený port alebo vlastné nastavenia. Tieto parametre môžu pri aplikácii vyzerať dosť komplikovane, ale pochopenie organizácie takéhoto spojenia je tu nevyhnutné.

Štandardný port SSH

Ak naozaj vychádzate z parametrov ľubovoľného smerovača, musíte sa najskôr rozhodnúť, aký softvér bude použitý na používanie tohto komunikačného kanála. V skutočnosti môže mať predvolený port SSH rôzne nastavenia. Všetko závisí od toho, aká technika sa momentálne používa (priame pripojenie k serveru, inštalácia ďalšieho klienta, presmerovanie portov atď.).

Napríklad, ak je Jabber použitý ako klient, port 443 musí byť použitý pre správne pripojenie, šifrovanie a prenos dát, hoci je štandardne nastavený port 22.

Ak chcete prekonfigurovať smerovač tak, aby pridelil predpoklady pre konkrétny program alebo proces, budete musieť vykonať presmerovanie portov SSH. existuje pridelenie určitého prístupu pre samostatný program, ktorý využíva internetové pripojenie, bez ohľadu na to, aké nastavenia má aktuálny komunikačný protokol (IPv4 alebo IPv6).

Technické zdôvodnenie

Ako už viete, štandardný port SSH 22 sa nie vždy používa. Tu je však potrebné zdôrazniť niektoré vlastnosti a parametre používané pri nastavovaní.

Prečo si dôvernosť šifrovaného prenosu údajov vyžaduje použitie SSH ako výlučne externého (hosťujúceho) používateľského portu? Áno, len preto, že použité tunelovanie vám umožňuje používať takzvaný vzdialený shell (SSH), pristupovať k správe terminálu cez vzdialené prihlásenie (login) a používať procedúry vzdialeného kopírovania (scp).

Port SSH je navyše možné použiť aj vtedy, keď používateľ potrebuje vykonávať vzdialené X Windows skripty, čo je v najjednoduchšom prípade prenos informácií z jedného stroja na druhý, ako už bolo spomenuté, s vynúteným šifrovaním dát. V takýchto situáciách bude najpotrebnejšie použitie algoritmov založených na AES. Toto je symetrický šifrovací algoritmus, ktorý bol pôvodne poskytovaný v technológii SSH. A je to nielen možné použiť, ale aj nevyhnutné.

História implementácie

Samotná technológia sa objavila už dávno. Otázku, ako urobiť SSH port forwarding, nechajme zatiaľ bokom a pozastavme sa nad tým, ako to celé funguje.

Zvyčajne ide o používanie proxy serverov založených na ponožkách alebo tunelovanie VPN. Ak niektorá softvérová aplikácia vie, ako pracovať s VPN, je lepšie uprednostniť túto konkrétnu možnosť. Faktom je, že takmer všetky dnes známe programy, ktoré využívajú internetový prenos, dokážu pracovať s VPN a nastavenie smerovania nie je zložité. To vám, podobne ako v prípade proxy serverov, umožňuje ponechať externú adresu terminálu, z ktorého práve pristupujete do siete, nerozpoznanú. To znamená, že v prípade proxy sa adresa neustále mení, ale vo verzii VPN zostáva nezmenená s fixáciou určitého regiónu, odlišného od toho, kde je zakázaný prístup.

Rovnaká technológia, keď je otvorený port SSH, bola vyvinutá už v roku 1995 na Technologickej univerzite vo Fínsku (SSH-1). V roku 1996 pribudlo vylepšenie v podobe protokolu SSH-2, ktorý sa v postsovietskom priestore značne rozšíril, aj keď na to, ako aj v niektorých západoeurópskych krajinách, je niekedy potrebné získať povolenie na používanie taký tunel navyše od vládnych agentúr.

Hlavnou výhodou otvorenia SSH portu, na rozdiel od telnetu alebo rloginu, je použitie digitálneho podpisu RSA alebo DSA (pomocou páru vo forme verejného a skrytého kľúča). Okrem toho sa v tejto situácii môže použiť takzvaný kľúč relácie založený na algoritme Diffie-Hellman, čo znamená použitie symetrického šifrovania na výstupe, hoci to nevylučuje použitie asymetrických šifrovacích algoritmov v procese prenos a príjem údajov iným zariadením.

Servery a škrupiny

Windows alebo nie, nie je to také ťažké. Jedinou otázkou je, aké nástroje sa na to použijú.

V tomto zmysle by sa mala venovať pozornosť problematike prenosu informácií a autentifikácie. Po prvé, samotný protokol sa ukazuje byť dostatočne chránený pred takzvaným sniffovaním, čo je najbežnejšie „odpočúvanie“ prevádzky. SSH-1 sa ukázal ako bezbranný voči útokom. Zásah do procesu prenosu dát v podobe schémy „muž v strede“ mal svoje výsledky. Informácie by sa dali jednoducho zachytiť a dešifrovať celkom jednoducho. Ale druhá verzia (SSH-2) bola poistená proti tomuto druhu rušenia, nazývanému session hijacking, vďaka čomu sa stala najrozšírenejšou.

Bezpečnostné zákazy

Pokiaľ ide o bezpečnosť vo vzťahu k prenášaným a prijímaným údajom, organizácia spojenia vytvoreného pomocou takýchto technológií zabraňuje nasledujúcim problémom:

  • určenie kľúča k hostiteľovi vo fáze prenosu, keď sa používa "snímka" odtlačku prsta;
  • podpora pre Windows a systémy podobné UNIX;
  • nahradenie IP a DNS adries (spoofing);
  • zachytenie otvorených hesiel počas fyzického prístupu ku kanálu prenosu dát.

V skutočnosti je celá organizácia takéhoto systému postavená na princípe „klient-server“, to znamená, že v prvom rade používateľský stroj prostredníctvom špeciálneho programu alebo doplnku odkazuje na server, ktorý umožňuje presmerovanie.

Tunelovanie

Je samozrejmé, že na vytvorenie tohto druhu pripojenia musí byť v systéme nainštalovaný špeciálny ovládač.

V systémoch Windows je to spravidla ovládač Microsoft Teredo zabudovaný do softvérového prostredia, čo je akýsi virtuálny prostriedok na emuláciu protokolu IPv6 v sieťach iba s podporou IPv4. je štandardne v aktívnom stave. V prípade porúch, ktoré sú s tým spojené, môžete jednoducho reštartovať systém alebo vykonať príkazy na vypnutie a reštart v príkazovej konzole. Na deaktiváciu sa používajú nasledujúce riadky:

  • netsh;
  • rozhranie teredo set stav vypnutý;
  • rozhranie isatap nastaviť stav vypnutý.

Po zadaní príkazov nasleduje reštart. Na opätovné zapnutie adaptéra a kontrolu jeho stavu sa namiesto vypnutia zapíše povolené povolenie, po ktorom by sa mal znova reštartovať celý systém.

SSH server

Teraz sa pozrime, ktorý port SSH sa používa ako hlavný, počnúc schémou "klient-server". Zvyčajne je predvolený port 22, ale ako je uvedené vyššie, môže použiť aj 443. Jedinou otázkou je preferencia samotného servera.

Za najbežnejšie servery SSH sa považujú tieto:

  • pre Windows: Tectia SSH Server, OpenSSH s Cygwin, MobaSSH, KpyM Telnet / SSH Server, WinSSHD, copssh, freeSSHd;
  • pre FreeBSD: OpenSSH;
  • pre Linux: Tectia SSH Server, ssh, openssh-server, lsh-server, dropbear.

Všetky uvedené servery sú bezplatné. Môžete však nájsť aj platené služby, ktoré sa vyznačujú zvýšenou úrovňou bezpečnosti, ktorá je mimoriadne potrebná na organizáciu prístupu k sieti a ochranu informácií v podnikoch. O cene takýchto služieb sa v súčasnosti nehovorí. Vo všeobecnosti však môžeme povedať, že je to relatívne lacné, dokonca aj v porovnaní s inštaláciou špecializovaného softvérového alebo „hardvérového“ firewallu.

SSH klient

Port SSH je možné zmeniť na základe klientskeho programu alebo zodpovedajúcich nastavení pri presmerovaní portov na smerovači.

Pokiaľ však ide o klientske shelly, nasledujúce softvérové ​​produkty možno použiť pre rôzne systémy:

  • Windows - SecureCRT, PuTTY \ KiTTY, Axessh, ShellGuard, SSHWindows, ZOC, XShell, ProSSHD atď .;
  • Mac OS X: iTerm2, vSSH, NiftyTelnet SSH;
  • Linux a BSD: lsh-client, kdessh, openssh-client, Vinagre, putty.

Autentifikácia verejným kľúčom a zmena portu

Teraz pár slov o tom, ako je server overený a nakonfigurovaný. V najjednoduchšom prípade musíte použiť konfiguračný súbor (sshd_config). Môžete sa však bez toho zaobísť napríklad v prípade používania programov ako PuTTY. Zmena portu SSH z predvolenej hodnoty (22) na ľubovoľnú inú je pomerne jednoduchá.

Hlavná vec je, že číslo otvoreného portu nepresiahne hodnotu 65535 (v prírode jednoducho neexistujú vyššie porty). Okrem toho existuje niekoľko predvolených portov, ktoré je potrebné poznamenať a ktoré môžu používať klienti, ako sú databázy MySQL alebo FTPD. Ak zadáte ich konfiguráciu pre SSH, samozrejme, jednoducho prestanú fungovať.

Stojí za zváženie, že rovnaký klient Jabber musí bežať v rovnakom prostredí pomocou servera SSH, ako je napríklad virtuálny stroj. A samotnému serveru localhost bude potrebné priradiť hodnotu 4430 (a nie 443, ako je uvedené vyššie). Túto konfiguráciu možno použiť, keď brána firewall blokuje prístup k hlavnému súboru jabber.example.com.

Na druhej strane môžete presmerovať porty na samotnom smerovači pomocou nastavení jeho rozhrania s vytvorením pravidiel vylúčenia. Na väčšine modelov sa vstup uskutočňuje zadaním adries začínajúcich na 192.168 s pridaním 0.1 alebo 1.1, ale na smerovačoch, ktoré kombinujú schopnosti ADSL modemov, ako je Mikrotik, konečná adresa predpokladá použitie 88.1.

V tomto prípade sa vytvorí nové pravidlo, po ktorom sa nastavia potrebné parametre, napríklad na vytvorenie externého pripojenia dst-nat, a porty sa tiež manuálne zaregistrujú nie v sekcii všeobecných nastavení, ale v sekcii Predvoľby akcií. . Nie je tu nič mimoriadne zložité. Hlavná vec je špecifikovať potrebné hodnoty nastavení a nastaviť správny port. Štandardne môžete použiť port 22, ale ak je použitý špecializovaný klient (jeden z vyššie uvedených pre rôzne systémy), hodnotu je možné ľubovoľne meniť, ale len tak, aby tento parameter neprekročil deklarovanú hodnotu, nad ktorou sú jednoducho žiadne čísla portov.

Pri nastavovaní pripojenia si treba všímať aj parametre klientskeho programu. Pokojne sa môže stať, že v jeho nastaveniach budete musieť určiť minimálnu dĺžku kľúča (512), hoci predvolená hodnota je zvyčajne 768. Je tiež žiaduce nastaviť časový limit prihlásenia na 600 sekúnd a povoliť vzdialený prístup pomocou práv root. Po použití takýchto nastavení musíte tiež udeliť povolenie na používanie všetkých autentifikačných práv, okrem tých, ktoré sú založené na použití .rhost (to však potrebujú iba správcovia systému).

Okrem iného, ​​ak sa meno používateľa registrovaného v systéme nezhoduje s menom zadaným v súčasnosti, budete ho musieť explicitne špecifikovať pomocou príkazu user ssh master s ďalšími parametrami (pre tých, ktorí rozumejú tomu, čo je v stávke ).

Príkaz ~ / .ssh / id_dsa (alebo rsa) možno použiť na konverziu kľúča a samotnej metódy šifrovania. Na vytvorenie verejného kľúča sa používa transformácia pomocou riadku ~ / .ssh / identity.pub (nie je to však povinné). Ako však ukazuje prax, najjednoduchším spôsobom je použiť príkazy ako ssh-keygen. Tu je jadrom veci iba pridanie kľúča k dostupným autorizačným nástrojom (~ / .ssh / autorizované kľúče).

Ale zašli sme príliš ďaleko. Vráťme sa k otázke konfigurácie portu SSH, ako už bolo jasné, zmena portu SSH nie je taká náročná. Je pravda, že v niektorých situáciách, ako sa hovorí, sa musíte potiť, pretože budete musieť vziať do úvahy všetky hodnoty hlavných parametrov. Zvyšok problému s konfiguráciou sa týka buď vstupu do serverového alebo klientskeho programu (ak je k dispozícii na začiatku), alebo pomocou presmerovania portov na smerovači. Ale aj keď zmeníte predvolený port 22 na rovnaký 443., musíte jasne pochopiť, že takáto schéma nefunguje vždy, ale iba v prípade inštalácie rovnakého doplnku Jabber (ostatné analógy môžu tiež použiť zodpovedajúce porty , odlišný od štandardu). Okrem toho je potrebné venovať osobitnú pozornosť nastaveniu parametrov klienta SSH, ktorý bude priamo interagovať so serverom SSH, ak má skutočne využívať aktuálne pripojenie.

V opačnom prípade, ak nie je pôvodne poskytnuté (hoci je žiaduce vykonať takéto akcie), nastavenia a parametre pre prístup cez protokol SSH nie je potrebné meniť. Vo všeobecnosti neexistujú žiadne špeciálne problémy pri vytváraní pripojenia a jeho ďalšom používaní (pokiaľ sa samozrejme nepoužívajú manuálne nastavenia konfigurácie na základe servera a klienta). Najbežnejší spôsob vytvorenia pravidla vylúčenia na smerovači vyrieši všetky problémy alebo sa im vyhne.

V tomto článku sa pozrieme na moderné a pohodlné spôsoby práce so serverom cez SSH s VPS od Infoboxu a cloudu.

Povieme vám nielen o obvyklom spôsobe pripojenia, ale aj o organizovaní stabilného pripojenia cez nestabilný internet (napríklad 3G modemy), ako aj o ďalších nástrojoch, ktoré pomáhajú pri práci cez SSH.

Ak ste používateľom systému Windows a potrebujete sa jednoducho a rýchlo pripojiť k serveru Linux – prejdite do časti „Putty alebo ako sa rýchlo pripojiť k SSH z Windows“.

Čo potrebujete vedieť na pripojenie cez SSH

Na pripojenie potrebujete:
  • IP adresa servera
  • Prihlásiť sa
  • heslo
Kde získať údaje pre pripojenie k serveru VPS NG z Infoboxu
Po objednaní služby zadajte ovládací panel https://panel.infobox.ru.
Vyberte službu „VPS NG“ v pravom hornom rohu ovládacieho panela v rozbaľovacom zozname.
Potom prejdite na kartu "VPS".

V tejto časti uvidíte IP adresa servera a môžete nainštalovať heslo pre prístup na server.


Na pripojenie použite svoje používateľské meno koreň, IP adresa z tejto stránky a nainštalovaný heslo.
Ak ste zabudli svoje heslo, kliknite na položku „Upraviť nastavenia prístupu“ zobrazenú na obrázku vyššie.

Kde získať údaje na pripojenie k serveru VPS z Infoboxu
Prihláste sa do ovládacieho panela https://panel.infobox.ru.
V pravom hornom rohu ovládacieho panela v rozbaľovacom zozname vyberte službu VPS (názov služby obsahuje názov objednaného OS a región umiestnenia).

Potom prejdite na kartu „Správa VPS“.


Použite používateľské meno koreň, heslo a ip-adresa servera z tejto stránky.

Kde získať údaje na pripojenie k serveru InfoboxCloud
Po vytvorení servera vám budú údaje o pripojení zaslané e-mailom. Na pripojenie to stačí.

Ak ste stratili e-mail s prístupovými údajmi a chcete získať prístup na server
Štandardne je prihlasovacie meno správcu servera: root

Prihláste sa do ovládacieho panela na adrese: https://panel.infobox.ru.
V pravom hornom rohu ovládacieho panela v rozbaľovacom zozname vyberte službu „Cloudové servery“.

Vyhradenú IP adresu pre server je možné zobraziť na karte "Cloudová infraštruktúra" ovládacieho panela.

Ak pole " Vyhradená adresa IP"prázdne, znamená to, že pri vytváraní servera ste na server nepridali aspoň 1 vyhradenú IP adresu (a preto nie je prístup k serveru cez internet, je len z lokálnej siete).

Ak chcete pridať vyhradenú IP adresu, kliknite na názov servera.

V skupine nastavení "Sieť" kliknite na "Konfigurovať".


Uistite sa, že šírka pásma (rýchlosť) siete je dostatočná (alebo v prípade potreby nastavte viac).
Potom kliknite na Pridať IPv4 adresu a kliknite na Uložiť zmeny.


Server má teraz vyhradenú IP adresu.


Ak chcete zmeniť heslo pre prístup na server, kliknite na „Zmeniť“, ako je znázornené na obrázku vyššie. Takto môžete nastaviť heslo pre prístup na server.
Teraz už viete IP adresa servera, Prihlásiť sa ( koreň) a heslo.

Konfigurácia klientov SSH

Pre Windows
Na pripojenie k serveru potrebujete klienta SSH. Ak sa potrebujete rýchlo pripojiť, odporúča sa Putty. Ak potrebujete pracovať s unixovými nástrojmi, ako sú scp, rsync a ssh-copy-id, použite Cygwin.
Putty alebo ako sa rýchlo pripojiť k SSH z Windowsu
Stiahnite si inštalačný program Putty pre Windows zo sekcie Najnovšia verzia verzie a nainštalujte Putty s predvolenými nastaveniami.


Spustite Putty (Štart -> Všetky aplikácie -> PuTTY -> PuTTY).

Zadajte IP adresu servera. Uistite sa, že je vybratý port 22 a typ pripojenia je SSH a kliknite na „Otvoriť“.


Zobrazí sa otázka, či dôverujete serveru, ku ktorému sa pripájate. Musíte odpovedať „Áno“.


Otvorí sa okno pripojenia. Použite root ako prihlasovacie meno a heslo vášho servera ako heslo. Heslo je možné vložiť zo schránky pravým tlačidlom myši. Z bezpečnostných dôvodov sa nezobrazuje pri písaní a vkladaní.


Spojenie bolo úspešne nadviazané.

Cygwin alebo Unixové prostredie na vašom počítači so systémom Windows
Pri práci so servermi Linux možno budete potrebovať podobné prostredie na svojom počítači. Je veľmi pohodlné používať rovnakú sadu nástrojov na serveri aj na pracovnom počítači, takže Cygwin určite vyskúšajte. Linux vyzerá na prvý pohľad komplikovane. Postupným zvládnutím tohto OS budete stále viac potrebovať Cygwin. Dobrá návyková.

Nestabilné internetové pripojenie pri pripojení cez SSH – čo robiť?

Pri práci v nestabilnej sieti (napríklad cez mobilný internet 3G / 4G alebo rôzne prístupové body WiFi) sa pripojenie SSH často preruší. Poďme sa pozrieť na to, čo sa dá urobiť na úrovni klienta, aby sa predišlo potrebe opätovného pripojenia. Tieto nástroje nie sú vhodné na vykonávanie kritických operácií na serveri (napríklad upgrade OS). Ak chcete vykonať kritické operácie, musíte navyše použiť pomocné programy opísané v ďalšej časti článku. Účelom pomôcok v tejto časti je zjednodušiť prácu SSH pre používateľa.
AutoSSH
AutoSSH spustí kópiu ssh klienta a monitoruje pripojenie, v prípade potreby reštartuje ssh klienta.

Autossh používa ssh na vytvorenie slučky presmerovania ssh (pripojenie z lokálneho na vzdialené a naopak) a posiela testovacie údaje, pričom očakáva, že sa vrátia. Podporuje tiež používanie služby vzdialenej odozvy na odoslanie testovacích údajov.

AutoSSH podporuje iba 3 parametre:

  • -M<порт>[: echo port]- používa sa na určenie monitorovacieho portu alebo monitorovacieho portu a portu služby ozveny. Ak nie je zadaný port služby echo, použije sa pre ňu ďalšie číslo portu. Napríklad, ak je nastavený príznak -M 20000, testovacie údaje sa odošlú na port 20000 a prijmú na porte 20001. Ak zadáte -M 0, monitorovanie pripojenia bude vypnuté a autossh reštartuje ssh iba pri ukončení ssh (vy môžete to použiť s možnosťami ServerAliveInterval a ServerAliveCountMax v OpenSSH, ak vo vašej situácii nemožno použiť monitorovanie);
  • -f- odošle autossh na pozadie ešte pred spustením ssh (v tomto režime nemôžete zadať heslo);
  • -V- zobrazí verziu autossh.
Všetky ostatné argumenty sa odovzdávajú ako parametre ssh.

Aby ste pri obnovovaní pripojenia nemuseli znova zadávať heslo, povoľte tomuto používateľovi vstúpiť na server pomocou kľúča, ako je uvedené v časti vyššie.

Inštalácia AutoSSH v Cygwin na Windows
Pri používaní Cygwin v systéme Windows zadajte:
aktualizácia apt-cyg
apt-cyg nainštalovať autossh


Teraz sa môžete pripojiť k serveru:
autossh -M 20000 [e-mail chránený] _adresa servera


Spojenie bolo úspešne nadviazané.

Vo všeobecnosti je autossh pomerne pohodlný nástroj na prácu s nestabilnými internetovými pripojeniami a na organizáciu tunelov ssh na serveri (tento scenár zvážime v samostatnom článku). Nevýhodou autossh je, že tento nástroj nerieši problém, ak sa v čase zadávania príkazov v sieti vyskytnú výrazné oneskorenia (čo sa stáva v sieti 3G). V tomto prípade budete čakať na odpoveď zo servera na zadanie každého znaku, čo trochu spomaľuje prácu. Za normálnych prevádzkových podmienok je však autossh veľmi nápomocné pri udržiavaní pripojenia ssh.

Mosh rieši možnosť zadávať príkazy bez čakania na odozvu servera, no kompatibilita tejto utility je stále veľmi obmedzená a jej spoľahlivosť je nízka, preto ju zatiaľ neodporúčame používať.

Ako vykonávať kritické a časovo náročné operácie servera: Terminálové multiplexory

Ak aktualizujete OS, inštalujete nejaký softvér alebo len upravujete súbor na serveri, po pripojení cez ssh alebo autossh nefungujú priamo. Ak je pripojenie SSH ukončené, stratíte reláciu spustenú pri pripájaní cez SSH. Aby ste tomu zabránili a keď sa znova pripojíte cez SSH, určite sa ocitnete v prebiehajúcej operácii na serveri alebo v otvorenom okne na úpravu súborov od rovnakého okamihu, použite terminálové multiplexory na serveri: GNU Screen alebo tmux.
Obrazovka GNU
Obrazovka bola pôvodne navrhnutá na spustenie viacerých terminálových relácií v rámci jedného terminálu. Obrazovka má však ďalšiu užitočnú vlastnosť: schopnosť odpojiť virtuálne relácie od fyzického terminálu a pripojiť ich k inému. To vám predovšetkým umožňuje spúšťať dlhotrvajúce procesy na vzdialených strojoch bez toho, aby ste sa na nich museli neustále prihlasovať.

1. Prihláste sa na vzdialený server cez SSH.
2. Spustite tam obrazovku
3. Uvidíte pozdrav, stlačte Enter.
4. Teraz môžete robiť čokoľvek, ako keby ste boli práve pripojení k serveru cez SSH (napríklad spustiť akýkoľvek dlhý proces).
5. Reláciu môžete odpojiť stlačením CTRL + a a potom d. Môžete dokonca ukončiť pripojenie SSH k serveru.
6. Ak sa chcete vrátiť do relácie, znova sa pripojte cez SSH (alebo to urobí autossh) a zadajte obrazovku -r
Vrátite sa do spustenej relácie a v nej pokračuje proces, ktorý ste začali predtým. Terminálové multiplexory si podrobnejšie rozoberieme v nasledujúcich článkoch.

Záver

V tomto článku sme sa pokúsili pokryť základy potrebné na pohodlné používanie SSH z rôznych operačných systémov. Samozrejme, to nie je všetko, čo je možné, ale dobrý základ na začiatok. Ak v článku nájdete chybu, myslíte si, že potrebujete pridať niečo dôležité, alebo máte len otázku -

abstrakt: Tento článok popisuje pokročilé funkcie OpenSSH, ktoré značne uľahčujú život systémovým administrátorom a programátorom, ktorí sa neboja shellu. Na rozdiel od väčšiny manuálov, ktoré okrem prepínačov a možností -L/D/R nič nepopisujú, som sa snažil zozbierať všetky zaujímavé funkcie a vymoženosti, ktoré so sebou ssh prináša.

Upozornenie: príspevok veľmi objemný, ale pre jednoduchosť použitia som sa rozhodol, že ho nebudem krájať na kúsky.

Obsah:

  • správa kľúčov
  • kopírovanie súborov cez ssh
  • Preposielanie I/O streamov
  • Pripojte vzdialený FS cez ssh
  • Vzdialené spustenie kódu
  • Aliasy a možnosti pre pripojenia v .ssh / config
  • Predvolené možnosti
  • Preposielanie X servera
  • ssh ako socks-proxy
  • Port Forwarding - Forward and Reverse
  • Reverse Sox Proxy
  • tunelovanie dopravy L2 / L3
  • Preposielanie autorizačného agenta
  • Tunelovanie ssh cez ssh cez nedôveryhodný server ( s najväčšou pravdepodobnosťou to nevieš)

Správa kľúčov

Teória niekoľkými slovami: ssh sa môže prihlásiť nie heslom, ale kľúčom. Kľúč sa skladá z otvorenej a uzavretej časti. Otvorený sa vloží do domovského adresára používateľa, ktorý sa prihlási na server, zatvorený do domovského adresára používateľa, ktorý ide na vzdialený server. Polovičky sa porovnajú (preháňam) a ak je všetko ok, tak to pustia. Dôležité: nielen klient je autorizovaný na serveri, ale aj server vo vzťahu ku klientovi (to znamená, že server má svoj vlastný kľúč). Hlavnou črtou kľúča v porovnaní s heslom je, že ho nemožno „ukradnúť“ hacknutím servera – kľúč sa neprenáša z klienta na server a klient pri autorizácii preukáže serveru, že kľúč vlastní. (rovnaká kryptografická mágia).

Generovanie kľúčov

Pomocou príkazu ssh-keygen si môžete vygenerovať svoj vlastný kľúč. Ak nenastavíte parametre, tak uloží všetko ako má.

Kľúč je možné uzavrieť heslom. Toto heslo (v konvenčných grafických rozhraniach) je vyžiadané raz a uložené na určitý čas. Ak je heslo prázdne, nebude sa pri jeho používaní pýtať. Obnovenie zabudnutého hesla nie je možné.

Pomocou príkazu môžete zmeniť heslo pre kľúč ssh-keygen -p.

Štruktúra kľúča

(ak bola otázka o umiestnení štandardne zodpovedaná).
~ / .ssh / id_rsa.pub- verejný kľúč. Skopíruje sa na servery, kde potrebujete získať prístup.
~ / .ssh / id_rsa- súkromný kľúč. Nesmie sa to nikomu ukázať. Ak ho skopírujete a vložíte do listu / chatu namiesto pubu, musíte vygenerovať nový kľúč. (Nerobím si srandu, asi 10 % ľudí, ktorí sú požiadaní, aby uviedli kľúč ssh, príspevok id_rsa, a z týchto desiatich percent sú muži, 100 %).

Kopírovanie kľúča na server

V adresári používateľa, pod ktorým sa chcete prihlásiť, ak vytvoríte súbor ~ / .ssh / autorizované kľúče a vložte tam verejný kľúč, potom sa môžete prihlásiť bez hesla. Upozorňujeme, že oprávnenia k súboru by nemali umožňovať neoprávneným používateľom zapisovať do tohto súboru, inak ho ssh neprijme. V kľúči je posledné pole [e-mail chránený] Nemá nič spoločné s autorizáciou a slúži len pre pohodlie určenia, kde je čí kľúč. Upozorňujeme, že toto pole je možné zmeniť (alebo dokonca vymazať) bez narušenia štruktúry kľúča.

Ak poznáte heslo používateľa, proces sa dá zjednodušiť. Príkaz ssh-copy-id [e-mail chránený] umožňuje skopírovať kľúč bez ručnej úpravy súborov.

Poznámka: V starých príručkách ssh sa uvádza autorizovaný_keys2. Dôvod: bola prvá verzia ssh, potom bola druhá (aktuálna), urobili si pre ňu vlastnú sadu konfigurácií, všetci boli veľmi unavení a druhá verzia už dávno prešla na verzie bez "2" . Teda vždy autorizované_kľúče a nerozmýšľať nad rôznymi verziami.

Ak máte ssh na neštandardnom porte, potom ssh-copy-id vyžaduje trochu triku: ssh-copy-id "-p 443 [e-mail chránený]“ (pozor na úvodzovky).

Kľúč servera

Keď sa prvýkrát prihlásite na server, ssh sa vás opýta, či dôverujete kľúču. Ak odpoviete nie, spojenie sa uzavrie. Ak áno, kľúč sa uloží do súboru ~ / .ssh / známy_hostiteľ... Zistite, kde ktorý kľúč nemôže byť (pretože nie je tajný).

Ak sa kľúč servera zmenil (napríklad bol server preinštalovaný), ssh kričí na falšovanie kľúča. Upozorňujeme, že ak sa servera nedotkli a kričí ssh, nabúrate sa na nesprávny server (napríklad sa v sieti objavil iný počítač s rovnakou IP, všetky druhy lokálnych sietí s 192.168.1.1, z ktorých je ich na svete niekoľko miliónov, obzvlášť tým trpí) ... Scenár „útoku zlého muža v strede“ je nepravdepodobný, častejšie ide len o chybu s IP, hoci ak „je všetko v poriadku“ a kľúč sa zmenil, je to dôvod na zvýšenie úrovne paranoje. pár úrovní (a ak máte autorizáciu kľúča a server vás zrazu požiada o heslo - paranoja môže byť zapnutá na 100% a heslo by sa nemalo zadávať).

Pomocou príkazu môžete odstrániť známy kľúč servera server ssh-keygen -R... V tomto prípade musíte tiež vymazať kľúč IP (sú uložené samostatne): ssh-keygen -R 127.0.0.1.

Kľúč servera je uložený v / etc / ssh / ssh_host_rsa_key a /etc/ssh/ssh_host_rsa_key.pub... Môžu byť:
a) skopírujte zo starého servera na nový.
b) vygenerujte pomocou ssh-keygen. Nemusíte nastavovať heslo (t.j. prázdne). Ssh server nemôže použiť kľúč s heslom.

Upozorňujeme, že ak klonujete servery (napríklad vo virtuálnych počítačoch), kľúče ssh servera sa musia vygenerovať.

Zároveň je lepšie odstrániť staré kľúče z know_hosts, inak bude ssh nadávať na duplicitný kľúč.

Kopírovanie súborov

Prenos súborov na server môže byť niekedy únavný. Okrem hrania sa so sftp a inými zvláštnymi vecami nám ssh dáva príkaz scp ktorý skopíruje súbor cez reláciu ssh.

Scp cesta / môj súbor [e-mail chránený]: / úplná / cesta / k / nové / umiestnenie /

Môžete to urobiť aj naopak:
scp [e-mail chránený]: / úplná / cesta / k / súboru / cesta / k / vložte / sem

Varovanie pre ryby: Napriek tomu, že mc sa môže pripojiť cez ssh, kopírovanie veľkých súborov bude veľmi bolestivé. fish (modul mc na prácu s ssh ako virtuálny fs) je veľmi pomalý. 100-200kb je limit, potom začína skúška trpezlivosti. (Spomenul som si na svoju ranú mladosť, keď som nevedel o scp, skopíroval som ~ 5 GB cez ryby do mc, na FastEthernet to trvalo trochu viac ako 12 hodín).

Schopnosť kopírovania je skvelá. Ale chcete "uložiť ako" - a okamžite na server. A s cieľom kopírovať v grafickom režime nie zo špeciálneho programu, ale z akéhokoľvek známeho.

Toto je tiež možné:

sshfs

Teória: Modul fuse vám umožňuje „exportovať“ požiadavky do súborového systému z jadra späť do používateľského priestoru pre príslušný program. To uľahčuje implementáciu „pseudo-súborových systémov“. Môžeme napríklad poskytnúť prístup k vzdialenému súborovému systému cez ssh, takže všetky lokálne aplikácie (až na pár výnimiek) nebudú nič podozrievať.

V skutočnosti výnimka: O_DIRECT nie je podporovaný, bohužiaľ (toto nie je problém sshfs, je to problém poistky vo všeobecnosti).

Použitie: nainštalujte balík sshfs (prinesie samotnú poistku).

Vlastne príklad môjho skriptu, ktorý pripája desunote.ru (umiestnený na mojom domácom počítači - obrázky sú z neho zobrazené v tomto článku) do môjho notebooku:

#! / bin / bash sshfs desunote.ru:/var/www/desunote.ru/ /media/desunote.ru -o znovu pripojiť

Vytvoríme súbor + x, zavoláme ho, prejdeme do ľubovoľnej aplikácie, povieme uložiť a vidieť:

Možnosti Sshfs, ktoré môžu byť dôležité: -o reconnect (povie, aby ste sa namiesto chýb pokúsili znova pripojiť).

Ak veľa pracujete s údajmi z rootu, môžete (potrebujete) vytvoriť idmap:

-o idmap = používateľ... Funguje to nasledovne: ak sa pripojíme ako užívateľ [e-mail chránený], a lokálne pracujeme ako používateľ vasiliy, potom povieme "zvážte, že súbory pupkin sú súbory vasiliy". dobre, alebo "root", ak sa pripojíme ako root.

V mojom prípade idmap nie je potrebný, pretože používateľské mená (miestne a vzdialené) sú rovnaké.

Všimnite si, že to funguje pohodlne iba vtedy, ak máme kľúč ssh (pozri začiatok článku), ak nie, overenie hesla trvá 2-3 pripojenia.

Môžete ho vypnúť pomocou príkazu fusermount -u / cesta, ak je však pripojenie zaseknuté (napríklad neexistuje žiadna sieť), potom to môžete / musíte urobiť z koreňa: sudo umount -f / cesta.

Vzdialené spustenie kódu

ssh môže vykonať príkaz na vzdialenom serveri a okamžite ukončiť spojenie. Najjednoduchší príklad:

Ssh [e-mail chránený] ls / etc /

Vypíše obsah / etc / na server, zatiaľ čo my budeme mať lokálny príkazový riadok.

Niektoré aplikácie vyžadujú ovládací terminál. Mali by byť spustené s voľbou -t:
ssh [e-mail chránený]-t príkaz na odstránenie

Mimochodom, môžeme urobiť niečo takéto:
ssh [e-mail chránený] cat / some / file | awk "(tlač $ 2)" | local_app

To nás privádza k nasledujúcej funkcii:

Štandardné / out preposielanie

Povedzme, že chceme vzdialene zadať požiadavku programu a potom vložiť jeho výstup do lokálneho súboru

Ssh [e-mail chránený] príkaz> môj_súbor

Povedzme, že chceme umiestniť lokálny výstup na diaľku

Mycommand | scp - [e-mail chránený]: / cesta / vzdialený_súbor

Poďme si skomplikovať príklad – môžeme preniesť súbory zo servera na server: Vytvoríme reťazec na vloženie stdin na 10.1.1.2, ktorý nie je dostupný zvonku:

Môj príkaz | ssh [e-mail chránený]"Scp - [e-mail chránený]: / cesta / k / súboru "

Existuje aj taká smiešna metóda použitia fajky (láskavo navrhnutá v komentároch v LJ):

Decht -c * | ssh [e-mail chránený]"cd && tar -x"

Tar lokálne balí súbory podľa masky, zapisuje ich do stdout, odkiaľ ich ssh načíta, prenesie na stdin na vzdialenom serveri, kde ich cd ignoruje (nečíta stdin) a tar ich prečíta a rozbalí. Scp je takpovediac pre chudobných.

Aliasy

Úprimne povedané, donedávna som nevedel a nepoužíval. Ukázalo sa, že je veľmi pohodlné.

Vo viac či menej veľkej spoločnosti sa často ukáže, že názvy serverov vyzerajú takto: spb-MX-i3.extrt.int.company.net. A používateľ sa tam nerovná lokálnemu. To znamená, že sa musíte prihlásiť takto: ssh [e-mail chránený] Zakaždým písať – tunelových syndrómov sa nevieš nabažiť. V malých firmách je problém opačný – nikto nemyslí na DNS a volanie na server vyzerá takto: ssh [e-mail chránený] Skrátka, ale aj tak otravné. Ešte väčšia dráma, ak máme neštandardný port, a napríklad prvú verziu ssh (ahoj cisk). Potom všetko vyzerá takto: ssh -1 -p 334 [e-mail chránený] Uškrtiť sa. O scp dráme ani nechcem hovoriť.

Je možné zaregistrovať celosystémové aliasy pre IP (/ etc / hosts), ale toto je krivý spôsob (a vytlačiť používateľa a možnosti aj tak), existuje aj kratší spôsob.

Súbor ~ / .ssh / config umožňuje nastaviť parametre pripojenia, vrátane parametrov špecifických pre servery, čo je najdôležitejšie, pre každý server jeho vlastné. Tu je príklad konfigurácie:

Host ric Názov hostiteľa ooo-roga-i-kopyta.rf Používateľ Administrátor ForwardX11 áno Kompresia áno Domov hostiteľa Názov hostiteľa myhome.dyndns.org Používateľ vasya HesloAutentifikácia nie

Všetky dostupné možnosti použitia sú zobrazené v man ssh_config(nezamieňať s sshd_config).

Predvolené možnosti

Na výzvu používateľa UUSER: môžete zadať predvolené nastavenia pripojenia pomocou konštrukcie Host *, t.j. napríklad:

Host * Kompresia užívateľa root áno

To isté sa dá urobiť v / etc / ssh / ssh_config (nezamieňať s / etc / ssh / ssh d _config), ale to vyžaduje práva root a platí pre všetkých používateľov.

Preposielanie X servera

V skutočnosti som túto časť trochu pokazil v príklade konfigurácie vyššie. ForwardX11 je presne to.

Teória: Unixové grafické aplikácie zvyčajne používajú X server (wayland je na ceste, ale stále nie je pripravený). To znamená, že sa aplikácia spustí a pripojí sa k X serveru na kreslenie. Inými slovami, ak máte holý server bez gui a máte lokálny x-server (na ktorom pracujete), potom môžete aplikáciám zo servera povoliť kreslenie na ploche. Zvyčajne pripojenie na vzdialený X server nie je najbezpečnejšia a najtriviálnejšia vec. SSH tento proces zjednodušuje a robí ho úplne bezpečným. A schopnosť zbierať návštevnosť vám tiež umožňuje vystačiť si s menšou návštevnosťou (t. j. znížiť využitie kanála, to znamená znížiť ping (presnejšie latenciu), to znamená znížiť oneskorenia).

Kľúče: -X - presmerovanie X servera. -Y autorizácia preposielanie.

Je dosť ľahké si zapamätať kombináciu ssh -XYC [e-mail chránený]
Vo vyššie uvedenom príklade (názvy spoločností sú fiktívne) sa pripájam k serveru ooo-roga-and-hooves.rf z nejakého dôvodu, ale s cieľom získať prístup k serveru Windows. Všetci poznáme bezpečnosť spoločnosti Microsoft pri práci v sieti, takže vystavenie holé RDP navonok je nepríjemné. Namiesto toho sa pripojíme k serveru cez ssh a potom tam spustíme príkaz rdesktop:
ssh ric
rdesktop -k en-us 192.168.1.1 -g 1900x1200

A zázrak, prihlasovacie okno v oknách na našej ploche. Všimnite si, že je starostlivo zašifrovaný a na nerozoznanie od bežnej premávky ssh.

Ponožky-proxy

Keď sa ocitnem v inom hoteli (kaviareň, konferencia), miestna wifi často dopadne hrozne - uzavreté prístavy, nikto nevie, na akej úrovni zabezpečenia. Áno, a v prístupové body iných ľudí nie je veľká dôvera (toto nie je paranoja, celkom som sledoval, ako sa heslá a súbory cookie odstraňujú pomocou banálneho notebooku, distribuujúc 3G každému s názvom neďalekej kaviarne (a zaujímavé písanie veci v procese)).

Osobitným problémom sú uzavreté porty. Ten jabber bude zatvorený, potom IMAP, potom niečo iné.

Bežná VPN (pptp, l2tp, openvpn) v takýchto situáciách nefunguje - jednoducho nie je povolená. Experimentálne je známe, že najčastejšie sa necháva port 443 a v režime CONNECT, čiže sa odovzdáva „tak, ako je“ (normálne http sa dá ešte priehľadne obaliť na chobotnici).

Riešením je ponožky-proxy prevádzkový režim ssh. Jeho princíp: ssh klient sa pripojí k serveru a počúva lokálne. Po prijatí požiadavky ju odošle (prostredníctvom otvoreného spojenia) na server, server nadviaže spojenie podľa požiadavky a odošle všetky údaje späť ssh klientovi. A odpovedá tomu, kto sa prihlásil. Ak chcete pracovať, musíte aplikáciám povedať „použite socks-proxy“. A zadajte IP adresu proxy. V prípade ssh je to najčastejšie localhost (takto svoj kanál neposkytnete cudzím ľuďom).

Pripojenie v režime sock-proxy vyzerá takto:
ssh-D 8080 [e-mail chránený]

Vzhľadom na to, že wifi iných ľudí je najčastejšie nielen figové, ale aj oneskorené, môže byť fajn povoliť možnosť -C (komprimovať prevádzku). Vyzerá to takmer ako opera turbo (len obrázky nie sú príliš tesné). Pri skutočnom surfovaní na http stlačí cca 2-3x (čítaj - ak máš smolu 64kbit, tak megabajtové stránky otvoríš nie za dve minúty, ale za 40 sekúnd. Naštve, ale je to lepšie). Ale čo je najdôležitejšie: žiadne ukradnuté cookies alebo odpočúvané relácie.

Nie nadarmo som hovoril o uzavretých prístavoch. 22. port je uzavretý presne rovnakým spôsobom ako "zbytočný" jabber port. Riešením je zavesiť server na port 443. S 22 by ste nemali strieľať, niekedy sú systémy s DPI (deep packet inspection), kam vás vaše „pseudo-ssl“ nepustí.

Takto vyzerá moja konfigurácia:

/ etc / ssh / sshd_config:
(fragment)
Prístav 22
Port 443

A tu je časť ~ / .ssh / config z prenosného počítača, ktorá popisuje vpn

Host vpn Názov hostiteľa desunote.ru Používateľ vasya Kompresia áno DynamicForward 127.1: 8080 Port 443

(všimnite si „lenivý“ zápis localhost – 127.1, toto je úplne legálny spôsob zápisu 127.0.0.1)

Presmerovanie portov

Prejdeme k mimoriadne ťažko zrozumiteľnej časti funkcionality SSH, ktorá vám umožňuje vykonávať záhadné operácie tunelovania TCP „zo servera“ a „na server“.

Aby ste pochopili situáciu, všetky nižšie uvedené príklady budú odkazovať na tento diagram:

Poznámky: Dve sivé siete. Prvá sieť pripomína typickú kancelársku sieť (NAT), druhá je „brána“, čiže server s bielo-šedým rozhraním nahliadajúci do vlastnej privátnej siete. V nasledujúcom texte predpokladáme, že „náš“ laptop je A a „server“ je B.

Úloha: máme aplikáciu spustenú lokálne, musíme umožniť inému používateľovi (mimo našej siete), aby si ju prezrel.

Riešenie: presmerovanie lokálneho portu (127.0.0.1:80) na verejne dostupnú adresu. Povedzme, že naša „verejne dostupná“ B obsadila 80. port niečím užitočným, tak to prepošleme na neštandardný port (8080).

Konečná konfigurácia: požiadavky na 8.8.8.8:8080 pôjdu na localhost notebooku A.

Ssh -R 127,1: 80: 8.8.8.8: 8080 [e-mail chránený]

Možnosť -R umožňuje presmerovanie zo vzdialeného ( R emote) serverový port na váš (miestny) port.
Dôležité: ak chceme použiť adresu 8.8.8.8, musíme povoliť GatewayPorts v nastaveniach servera B.
Úloha... Na serveri "B" počúva určitý démon (napríklad sql-server). Naša aplikácia nie je kompatibilná so serverom (iný bitness, OS, zlý admin, zakazovanie a zavádzanie limitov atď.). Chceme lokálne pristupovať k vzdialenému localhost "y.

Konečná konfigurácia: požiadavky na localhost: 3333 na "A" by mal obsluhovať démon na localhost: 3128 "B".

Ssh -L 127,1: 3333: 127,1: 3128 [e-mail chránený]

Možnosť -L umožňuje miestne hovory ( L ocal) na odoslanie na vzdialený server.

Úloha: Na serveri "B" určitá služba počúva na sivom rozhraní a chceme dať kolegovi (192.168.0.3) možnosť pozrieť si túto aplikáciu.

Konečná konfigurácia: požiadavky na našu sivú IP adresu (192.168.0.2) smerujú do šedého rozhrania servera B.

Ssh -L 192.168.0.2:8080:10.1.1.1:80 [e-mail chránený]

Vnorené tunely

Tunely je samozrejme možné presmerovať.

Skomplikujme si úlohu: teraz chceme kolegovi ukázať aplikáciu spustenú na localhoste na serveri s adresou 10.1.1.2 (na porte 80).

Riešenie je zložité:
ssh -L 192.168.0.2:8080:127.1:9999 [e-mail chránený] ssh -L 127,1: 9999: 127,1: 80 [e-mail chránený]

Čo sa deje? Hovoríme ssh, aby presmeroval lokálne požiadavky z našej adresy na localhost servera B a ihneď po pripojení spustil ssh (to znamená ssh klienta) na serveri B s možnosťou počúvať na localhost a odosielať požiadavky na server 10.1.1.2 ( kde sa má klient pripojiť). Port 9999 je zvolený ľubovoľne, hlavná vec je, že sa zhoduje v prvom a druhom hovore.

Reverse Sox Proxy

Ak sa vám predchádzajúci príklad zdal jednoduchý a zrejmý, skúste uhádnuť, čo urobí tento príklad:
ssh -D 8080 -R 127,1: 8080: 127,1: 8080 [e-mail chránený] ssh -R 127,1: 8080: 127,1: 8080 [e-mail chránený]

Ak ste bezpečnostný dôstojník, ktorého úlohou je zakázať používanie internetu na serveri 10.1.1.2, môžete začať vyťahovať vlasy z kňaza, pretože tento príkaz organizuje prístup na internet pre server 10.1.1.2 cez sox proxy bežiaci na počítači "A". Prevádzka je plne šifrovaná a na nerozoznanie od akejkoľvek inej prevádzky SSH. A odchádzajúca prevádzka z počítača z pohľadu siete 192.168.0 / 24 je na nerozoznanie od bežnej prevádzky počítača A.

Tunelovanie

Ak v tomto bode kňaz bezpečnostného oddelenia nežiari s holou hlavou a ssh stále nie je uvedený ako bezpečnostný nepriateľ číslo jedna, tu je konečný zabijak všetkého a všetkých: tunelovanie IP alebo dokonca ethernet. V najradikálnejších prípadoch to umožňuje dhcp tunelovanie, vzdialené arp spoofing, prebudenie na lan a iné škaredosti druhej úrovne.

(Sám som to, bohužiaľ, nepoužil).

Je ľahké pochopiť, že v takýchto podmienkach je nemožné, aby žiadne DPI (hĺbková kontrola paketov) zachytila ​​takéto tunely - buď je ssh povolené (čítajte - robte si, čo chcete), alebo je ssh zakázané (a môžete pokojne opustiť spoločnosť idiotov bez pocitu najmenšej ľútosti).

Preposielanie autorizácie

Ak si myslíte, že je to všetko, tak ... ... na rozdiel od autora, ktorého "spodok" ešte nie je napísaný, čitateľ vopred vidí, že pod ním je veľa písmen a nie sú tam žiadne intrigy.

OpenSSH umožňuje, aby sa servery používali ako odrazový mostík na pripojenie k iným serverom, aj keď sú tieto servery nedôveryhodné a môžu byť zneužité akýmkoľvek spôsobom.

Opakujem obrázok:

Povedzme, že sa chceme pripojiť k serveru 10.1.1.2, ktorý je pripravený prijať náš kľúč. Ale nechceme to kopírovať do 8.8.8.8, pretože tam je priechod a polovica ľudí má sudo a môže listovať v adresároch iných ľudí. Kompromisom by bolo mať „iný“ kľúč ssh, ktorý autorizuje [e-mail chránený] na 10.1.1.2, ale ak nechceme nikoho pustiť od 8.8.8.8 do 10.1.1.2, tak toto neprichádza do úvahy (hlavne preto, že kľúč sa dá nielen použiť, ale aj skopírovať pre seba "na upršaný deň" ").

Ssh ponúka možnosť preposlať ssh agenta (toto je služba, ktorá vyžaduje heslo pre kľúč). Možnosť ssh -A prepošle autorizáciu na vzdialený server.

Hovor vyzerá takto:

Ssh -A [e-mail chránený] ssh [e-mail chránený]

Vzdialený klient ssh (8.8.8.8) môže 10.1.1.2 dokázať, že sme my, iba ak sme pripojení k tomuto serveru a dali sme klientovi ssh prístup k jeho autorizačnému agentovi (ale nie kľúču!).

Väčšinu času to funguje.

Ak je však server skutočne zlý, koreňový adresár servera môže použiť soket na zosobnenie, keď sme pripojení.

Existuje ešte výkonnejšia metóda – premení ssh na jednoduché potrubie (v zmysle „potrubia“), cez ktoré pracujeme skrz na skrz so vzdialeným serverom.

Hlavnou výhodou tejto metódy je úplná nezávislosť od proxy servera. Môže používať falošný ssh server, zaznamenávať všetky bajty a všetky akcie, zachytávať akékoľvek údaje a falšovať ich, ako chce – interakcia prebieha medzi „finálnym“ serverom a klientom. Ak sa s údajmi na terminálovom serveri manipuluje, podpis nebude konvergovať. Ak sa s údajmi nemanipuluje, relácia sa vytvorí v zabezpečenom režime, takže nie je čo zachytiť.

Toto cool nastavenie som nepoznal, tak som vykopal jeho redrampage.

Konfigurácia je spojená s dvoma funkciami ssh: voľbou -W (premení ssh na „rúru“) a možnosťou config ProxyCommand(možnosti príkazového riadku, zdá sa, nie), ktorý hovorí „spustite program a držte sa jeho štandardného čísla / výstupu“. Tieto možnosti sa objavili nedávno, takže používatelia centosu neprichádzajú do úvahy.

Vyzerá to takto (čísla na obrázku vyššie):

Ssh / konfigurácia:
Host raep Názov hostiteľa 10.1.1.2 User user2 ProxyCommand ssh -W% h:% p [e-mail chránený]

Spojenie je triviálne: ssh raep.

Opäť dôležitý bod: Server 8.8.8.8 nemôže zachytávať alebo spoof prevádzkovať, používať agenta na autorizáciu používateľov ani inak meniť prevádzku. Popierať – áno, môže. Ale ak je to povolené, prejde cez seba bez dešifrovania alebo úpravy. Aby konfigurácia fungovala, musíte mať svoj verejný kľúč v autorizovanom kľúči ako pre [e-mail chránený] a v [e-mail chránený]

Samozrejme, pripojenie je možné vybaviť všetkými ostatnými babami – presmerovanie portov, kopírovanie súborov, sox proxy, L2 tunely, X-server tunelovanie atď.
ssh tunelovanie pridať značky

Pomerne často možno budete potrebovať prístup k vzdialenému počítaču alebo serveru cez internet. V prípade osobného počítača to môže byť potrebné na urýchlené vyriešenie problému a v prípade servera je to vo všeobecnosti veľmi bežná prax. V Linuxe sa na takéto úlohy najčastejšie používa protokol ssh.

Služba ssh vám umožňuje pristupovať k terminálu vzdialeného počítača a vykonávať tam všetky potrebné príkazy. Napriek svojej jednoduchosti je dostatočne bezpečný na to, aby sa dal použiť na riešenie vážnych obchodných problémov, ako aj problémov bežných používateľov. V tomto článku sa pozrieme na to, ako nainštalovať ssh Ubuntu 16.04, a tiež hovoriť o počiatočnom nastavení ssh servera.

SSH alebo Secure Shell je protokol na bezpečný prístup z jedného počítača do druhého cez sieť. Protokol SSH má veľa možností. Môžete vytvárať zabezpečené pripojenia medzi počítačmi, otvárať príkazový riadok na vzdialenom počítači, spúšťať grafické programy, prenášať súbory a nastavovať súkromné ​​siete.

Softvérový balík OpenSSH je zodpovedný za podporu protokolu SSH v systéme Linux. Ide o open source implementáciu tohto protokolu, ktorá poskytuje všetky požadované schopnosti. Balík OpenSSH obsahuje nástroje na vytvorenie spojenia, prenos súborov, ako aj samotný server ssh.

Inštalácia OpenSSH na Ubuntu

Inštalácia ssh na Ubuntu bude veľmi jednoduchá, program sa považuje za štandardný a používa sa takmer všade. Hoci štandardne nie je v distribúcii, je v oficiálnych úložiskách.

Preto pri inštalácii otvorte terminál pomocou klávesovej skratky Ctrl + Alt + T a spustite príkaz:

sudo apt install openssh-server

Stiahne sa niekoľko balíkov a po dokončení inštalácie servera Ubuntu ssh je program pripravený na spustenie. Ak chcete, aby sa služba spúšťala automaticky, musíte ju pridať do spustenia. Ak chcete povoliť ssh Ubuntu 16.04 spustiť:

sudo systemctl povoliť sshd

Ak potom chcete službu odstrániť zo spustenia, použite príkaz disable:

sudo systemctl vypnúť sshd

Čo sa týka klienta ssh, ten je už v systéme štandardne nainštalovaný. Zatiaľ sa môžete pokúsiť pripojiť k vášmu lokálnemu ssh serveru jednoduchým zadaním:

V jednom z predchádzajúcich článkov, na ktoré sme sa pozreli, sa teraz môžete uistiť, že v rámci tohto stroja to znamená miestnu adresu:

Toto je presný spôsob, ako môžete pomocou ssh ubuntu pristupovať k akémukoľvek inému počítaču zo siete. Na to stačí zadať namiesto localhost jeho IP adresu a používateľské meno v tomto formáte:

$ ssh Používateľské meno@ IP adresa

Nastavenie SSH na Ubuntu

S predvolenými nastaveniami nie je server SSH príliš bezpečný, takže je potrebné malé vylepšenie, kým bude program pripravený na plné použitie. Všetky nastavenia servera SSH sú uložené v konfiguračnom súbore sshd_config v priečinku / etc / ssh.

Pred vykonaním zmien v tomto konfiguračnom súbore sa odporúča vytvoriť jeho záložnú kópiu, na to môžete použiť nasledujúci príkaz:

sudo cp / etc / ssh / sshd_config /etc/ssh/sshd_config.factory-defaults

sudo vi / etc / ssh / sshd_config

V prvom rade je vhodné zmeniť port, na ktorom beží ssh, prípadný útočník nevedel, či je táto služba u vás povolená. Nájdite riadok v konfiguračnom súbore Port a nahradiť jeho hodnotu ľubovoľným číslom, napr Prístav 2222:

V predvolenom nastavení je prihlásenie superužívateľa povolené, odporúča sa túto funkciu vypnúť. Ak to chcete urobiť, nájdite riadok PermitRootLogin a nahradiť jeho hodnotu nie:

Ak chcete povoliť autentifikáciu pomocou kľúča namiesto hesla, nájdite riadok PubkeyAuthentication a presvedčte sa o jeho hodnote Áno.

Po dokončení všetkých nastavení uložte zmeny stlačením: w a reštartujte službu ssd:

sudo systemctl reštart ssh

Ďalšie informácie o konfigurácii a používaní rôznych jemností ssh nájdete v tomto článku.

Ak ste zmenili port, musíte pri pripájaní v klientovi zadať aj nový port, pretože štandardne sa použije 22, napríklad:

ssh -p 2222 localhost

Okrem toho, ak je v počítači nainštalovaná a nakonfigurovaná brána firewall, musíte jej tiež povoliť prístup k novému portu ssh, aby ste to urobili, spustite:

sudo ufw povoliť 2222

Aj keď je služba ssh na predvolenom porte, musíte ju otvoriť aj vo bráne firewall, ak sa chcete pripojiť k počítaču cez internet:

sudo ufw povoliť 22

Nastavenie Ubuntu 16.04 ssh je teraz dokončené.

závery

Teraz, keď je inštalácia ssh Ubuntu 16.04 dokončená, môžete vzdialene pristupovať k počítaču cez internet a uistiť sa, že je bezpečný. Ak máte nejaké otázky, pýtajte sa v komentároch.

Na konci videa, ktoré podrobne popisuje, čo je ssh: