Pripojenie Ubuntu ssh. Ako používať protokol SSH v Ubuntu: inštalácia a konfigurácia. Inštalácia balíkov SSH

  • 05.11.2019

Časť 2.

Než začneme, vytvorme nového používateľa s oprávneniami root.

Príkazom nastavíte práva testovaného používateľa

usermod -a -G sudo test

Ak chcete skontrolovať, či bol používateľský test pridaný do skupiny sudo, môžete spustiť nasledujúci príkaz:


Teraz nakonfigurujme vzdialený prístup k serveru pomocou ssh (príkazový riadok), a to cez lokálnu sieť aj cez internet

Nainštalujte ssh

sudo apt-get nainštalovať openssh-server

Po inštalácii musíme nakonfigurovať zabezpečenie spojenia a priamy prístup. Poďme na súbor nastavení

sudo nano / etc / ssh / sshd_config

Štandardne ssh používa port 22. Nahraďte ho neštandardným, zvýši sa tým bezpečnosť nášho prístupu. Napríklad vymeňte port za 2200

Pri pripájaní pomocou ssh bude náš server vyžadovať namiesto hesla kľúč RSA, nie heslo. Nech sa to stane čokoľvek, v parametroch RSAAuthentication a PubkeyAuthentication zadajte „NO“. Zakážeme tiež prístup k používateľovi ROOT, preto musíte odkomentovať parameter Authetication: a do parametra PermitRootLogin zadať „NIE“.

Teraz zaregistrujeme prístup k používateľom

V riadku AllowUsers píšeme používateľov cez medzeru v tvare užívateľ @ hostiteľ, to znamená, označujeme, ktorý užívateľ sa môže odkiaľ pripojiť. Môžete použiť znak *

Priradme prístupové práva k používateľskému testu a porozumieme im.

    test @ * - používateľský test sa môže pripojiť odkiaľkoľvek
    [email protected].* - testovací používateľ sa môže pripájať iba z podsiete 192.168.0.0
    [email protected] - testovací používateľ sa môže pripojiť iba z adresy IP 192.168.0.104
    *@192.168.0.* - všetci používatelia sa môžu pripájať z podsiete 192.168.0.0

Môžete tiež odmietnuť prístup určitým používateľom (napríklad používateľovi test2), čo je potrebné zadať nižšie

Spustiť

sudo /etc/init.d/ssh start

Nakonfigurovali sme ssh. Teraz k nej otvorme prístup. Za týmto účelom otvorme prístup k portu 2200.

V poslednej časti sme nainštalovali firewall príkazom arno-iptables-firewall, teraz tam musíme urobiť zmeny. Preto to prekonfigurujeme.

sudo dpkg-prekonfigurovať arno-iptables-firewall

Inštalácia bola spustená

Vchádzame do prístavu, ktorý sa má otvoriť. V tomto okne môžete tiež zadať ďalšie porty, ak je potrebné ich otvoriť.

V ďalšom okne tiež zadáme port 2200.

Po zadaní portov môžete všade stlačiť kláves ENTER a reštartovať bránu firewall.

Potom bude port ssh prístupný zo siete

Na zvýšenie bezpečnosti pripojenia ssh môžete nakonfigurovať obslužný program denyhosts. Obslužný program je skript v jazyku Python, ktorý analyzuje súbor /var/log/auth.log na záznamy neoprávnených pokusov o prihlásenie na server pomocou ssh a pridá adresy IP, z ktorých boli tieto pokusy vykonané, do súboru /etc/hosts.deny s tým, že ktoré sa nemôžu prihlasovať cez ssh.

Nainštalujte pomocou príkazu

sudo aptitude nainštalovať denyhosts

Ihneď po inštalácii pomocný program naskenuje súbor /var/log/auth.log a do /etc/hosts.deny pridá adresy IP, z ktorých sa uhádlo heslo. Skenovanie bude chvíľu trvať, ak je v súbore /var/log/auth.log už veľa takýchto záznamov.

Po inštalácii musíte opraviť konfiguračný súbor

sudo nano /etc/denyhosts.conf

Upravme nastavenie PURGE_DENY na 3 hodiny. V opačnom prípade môžeme prístup k sebe zablokovať niekoľkokrát zadaním nesprávneho hesla.

Pre kontrolu musíte tiež zadať e-mailovú adresu na zasielanie oznámení o neúspešných pokusoch o prístup na server:

ADMIN_EMAIL \u003d [email protected] namiesto [email protected] označujeme náš e-mail

Aby sa nové nastavenia prejavili, musíte reštartovať službu denyhosts:

sudo služba denyhosts reštartovať

P.S. Ak potrebujete zmeniť heslo k účtu. Zadajte príkaz

passwd user - kde user je užívateľské meno

P.S.S. Ak máte problémy s kódovaním, ponorte sa do nastavení klientskeho programu Psst

Najpopulárnejším programom ssh je PuttY.


Ak chcete nainštalovať server ssh, spustite ho v termináli:

Mint pre Ubuntu / Debian / Linux

Potom upravte nastavenia servera ssh v / etc / ssh / sshd_config
Spustíte to v termináli:


Aby tiež služba OpenSSH mohla počúvať iba určité adresy IP, povedzme 192.168.0.50, 192.168.0.51 na porte 777, stačí pridať nasledujúce riadky:

Obmedziť prístup SSH na používateľov: test test2 test3

Server OpenSSH môže na autorizáciu použiť protokol Rlogin a môže napodobňovať správanie staršieho príkazu rsh, takže zakáže čítanie používateľských súborov ~ / .rhosts a ~ / .shosts:

Povoľte výstražný banner úpravou nasledujúceho riadku a vytvorením príslušného. spis:

Uchovávajte denníky, uistite sa, že smernica LogLevel je INFO alebo DEBUG

Reštartovanie OpenSSH na CentOS, Fedore alebo RHEL:

V niektorých prípadoch môžete server spustiť iba týmto spôsobom:


Ak chcete skontrolovať stav servera, použite nasledujúci príkaz


Teraz sa môžete prihlásiť do počítača s nainštalovaným serverom OpenSSH takto:

SSH [-p port]

Napríklad:

CentOS / RHEL / Fedora Linux - OpenSSH môžete zakázať alebo odstrániť takto:

$ chkconfig sshd vypnuté
$ yum vymazať openssh-server

Hlavné súbory a priečinky SSH:
~ / .ssh / - vlastné konfiguračné adresáre
~ / .ssh / authorized_keys a ~ / .ssh / authorized_keys2 - zoznamy verejných kľúčov (RSA alebo DSA), ktoré možno použiť na autorizáciu k používateľskému účtu
~ / .ssh / known_hosts - kľúče servera
/ etc / ssh / sshd_config - konfiguračný súbor servera OpenSSH
/ etc / ssh / ssh_config - konfiguračný súbor klienta OpenSSH
/ etc / nologin - ak tento súbor existuje, systém odmietne vpustiť kohokoľvek iného ako užívateľa root. Lepšie odstrániť a nepoužívať.
/etc/hosts.allow a /etc/hosts.deny - Zoznamy riadenia prístupu (ACL)

SSH je jedným z najdôležitejších nástrojov na správu systému.

SSH alebo Secure Shell je protokol používaný na bezpečné pripojenie k vzdialeným systémom. Toto je najbežnejší spôsob pripojenia k vzdialeným serverom podobným Linuxu a Unixu (napr. VPS).

Tento výukový program sa zameria na použitie SSH na pripojenie k vzdialenému systému.

Základná syntax

Na pripojenie k vzdialenému systému pomocou SSH v systéme Linux existuje nástroj s rovnakým názvom - ssh.

Základný príkaz:

ssh remote_host

V tomto príklade výraz „remote_host“ nahrádza adresu IP alebo názov domény hostiteľa, ku ktorému sa chcete pripojiť.

Tento príkaz predpokladá, že používateľské meno vo vzdialenom a lokálnom systéme je rovnaké.

Ak je vo vzdialenom systéme nastavené iné používateľské meno, musíte ho zadať pomocou nasledujúcej syntaxe:

ssh username @ remotehost

Po pripojení k serveru musíte na autorizáciu zadať heslo.

Postup vytvárania kľúčov, ktoré sa dajú použiť namiesto hesla, bude popísaný neskôr.

Ak sa chcete vrátiť k miestnej relácii, jednoducho zadajte:

Ako funguje SSH?

SSH funguje pripojením klientskeho programu k serveru ssh.

Vo vyššie uvedených príkazoch je ssh klientsky program. Server ssh už beží na zadanom vzdialenom hostiteľovi.

Ak ssh server ešte nie je spustený na VPS, kliknite na tlačidlo Console Access na stránke servera. Zobrazí sa prihlasovacia obrazovka. Prihláste sa pomocou svojich prihlasovacích údajov.

Všeobecne platí, že proces spustenia servera ssh závisí od distribúcie Linuxu, ktorú používate.

V Ubuntu spustíte ssh server na VPS zadaním:

Sudo service sshd start

Nastavuje sa SSH

Zmena nastavení SSH tiež zmení nastavenie ssh servera.

V systéme Ubuntu sa hlavný konfiguračný súbor SSH nachádza na / etc / ssh / sshd_config.

Aktuálnu verziu tohto súboru pred úpravou zálohujte:

Sudo cp /etc/ssh/sshd_config(,.bak)

Otvorte ho v textovom editore:

Sudo nano / etc / ssh / sshd_config

Niektoré nastavenia vyžadujú osobitnú pozornosť, napríklad:

Tento riadok určuje, na ktorom porte bude ssh server čakať na pripojenie. Predvolene je to port 22.

Na ochranu servera pred náhodnými skenmi portov je vhodné použiť neštandardný port. Neskôr vám ukáže, ako sa pripojiť k novému portu.

HostKey / etc / ssh / ssh_host_rsa_key
HostKey / etc / ssh / ssh_host_dsa_key
HostKey / etc / ssh / ssh_host_ecdsa_key

Riadky HostKey označujú, kde sú umiestnené kľúče hostiteľa (viac o kľúčoch hostiteľa neskôr).

SyslogFacility
LogLevel INFO

Tieto riadky obsahujú nastavenia protokolovania a určujú úroveň protokolu.

Ak narazíte na problémy so SSH, odporúča sa zvýšiť úroveň protokolu (čo zvyšuje množstvo zapisovaných údajov).

LoginGraceTime 120
PermitRootLogin áno
StrictModes áno

Tieto parametre obsahujú niektoré registračné informácie.

LoginGraceTime označuje počet sekúnd, počas ktorých je potrebné udržiavať spojenie bez autorizácie.

Poznámka: v tomto riadku nastavte trochu viac času, ako je zvyčajne potrebné na registráciu.

PermitRootLogin definuje možnosť prihlásiť sa ako root.

Vo väčšine prípadov sa po vytvorení používateľa so zvýšenými oprávneniami (su alebo sudo) a možnosti pripojenia pomocou ssh odporúča na tomto riadku nastaviť „nie“

strictModes Je zabezpečovacie zariadenie, ktoré odmietne prihlásenie, ak sú súbory overenia čitateľné pre všetkých.

Toto zabráni pokusom o prihlásenie, ak konfiguračné súbory nie sú zabezpečené.

X11 Presmerovanie áno
X11DisplayOffset 10

Tieto parametre konfigurujú funkciu s názvom X11 Forwarding, ktorá umožňuje zobraziť grafické užívateľské rozhranie (GUI) vzdialeného systému v lokálnom systéme.

Táto možnosť musí byť povolená na lokálnych aj vzdialených počítačoch; na použitie tejto funkcie musíte zložiť klienta a voľbu –X.

Po úprave tohto súboru nezabudnite reštartovať ssh server, aby sa vykonané zmeny aktivovali:

sudo služba sshd reštart

Vykonané zmeny musia byť navyše dôkladne otestované, aby bolo zaručené, že všetko funguje podľa očakávaní.

Ak narazíte na problém, nezabudnite, že sa môžete prihlásiť aj pomocou tlačidla Console Access.

Prihláste sa pomocou SSH kľúčov

Kľúčová autentifikácia je často oveľa bezpečnejšia ako prihlásenie do vzdialeného systému pomocou hesla.

Ako funguje autentifikácia na základe kľúča?

Autentifikácia na základe kľúča zahŕňa vytvorenie dvojice súkromných a verejných kľúčov.

Súkromný kľúč sa nachádza na klientskom počítači a musí byť chránený a udržiavaný v tajnosti.

Verejný kľúč môže mať ktokoľvek a môže ho umiestniť na server, ku ktorému je potrebné získať prístup.

Pri pokuse o pripojenie pomocou páru kľúčov použije server verejný kľúč na vytvorenie správy pre klientsky počítač, ktorú je možné prečítať iba pomocou súkromného kľúča.

Klientsky počítač potom odošle príslušnú odpoveď na server, aby server vedel, že klient je legitímny.

Po nakonfigurovaní kľúčov sa celý tento proces uskutoční automaticky na pozadí.

Generovanie kľúčov SSH

Kľúče SSH musia byť vytvorené na počítači, z ktorého chcete nadviazať spojenie (spravidla ide o lokálny počítač).

Do príkazového riadku zadajte:

ssh-keygen -t rsa

Stlačením klávesu Enter prijmete predvolené nastavenia. Kľúče sa vytvoria v súboroch ~ / .ssh / id_rsa.pub a ~ / .ssh / id_rsa.

Prejdite do adresára .ssh zadaním:

Venujte pozornosť povoleniam súboru:

ls -l
-rw-r - r-- 1 demo ukážka 807 9. september 22:15 authorized_keys
-rw ------- 1 demo ukážka 1679 9. september 23:13 id_rsa
-rw-r - r-- 1 demo ukážka 396 9. septembra 23:13 id_rsa.pub

Ako vidíte, právo čítať a upravovať súbor id_rsa má iba vlastník. Tieto privilégiá sú potrebné na uchovanie kľúča v tajnosti.

Zároveň možno súbor id_rsa.pub zdieľať, pretože má príslušné privilégiá.

Prenos verejného kľúča na server

Nasledujúci príkaz skopíruje verejný kľúč na vzdialený server:

ssh-copy-id remote_host

Otvorí sa relácia SSH, do ktorej musíte zadať heslo.

Po zadaní hesla sa verejný kľúč skopíruje na server, čo vám umožní nabudúce sa prihlásiť do systému bez hesla.

Nastavenia klienta SSH

Pri pripájaní cez SSH je možné použiť množstvo vlajok.

Niektoré z nich sú potrebné na nastavenie vhodných parametrov v súbore ssh vzdialeného hostiteľa.

Napríklad, ak sa zmenilo číslo portu v konfiguráciách ssh na lokálnom hostiteľovi, musíte nastaviť vhodný port na strane klienta zadaním:

ssh -p číslo_portu remote_host

Ak potrebujete vykonať príkaz na vzdialenom systéme, môžete ho zadať takto:

ssh remote_host požadovaný_príkaz

Tento riadok vytvorí spojenie so vzdialeným počítačom a vykoná zadaný príkaz.

Ako už bolo spomenuté, ak je preposielanie X11 povolené na oboch počítačoch, je možné ho použiť zadaním:

ssh -X vzdialený_hostiteľ

Ak sú v miestnom systéme k dispozícii všetky príslušné nástroje, v miestnom počítači sa otvoria programy GUI použité vo vzdialenom systéme.

Výsledok

Naučiť sa pracovať s SSH je veľmi dôležité, už len preto, že je to nevyhnutné na vykonávanie tých najzákladnejších úloh.

Neustálym používaním protokolu SSH môžete nielen chrániť svoj server, ale aj stať sa pokročilým používateľom, čo vám výrazne zjednoduší život. SSH zostáva populárny, pretože je bezpečný, spoľahlivý a užitočný v rôznych situáciách.

Značky :,

Tento článok je označený ako nedokončený. Pozri poznámku na konci článku.

Tento článok je o klientovi a serveri zabezpečeného shellu v Ubuntu, ako ich konfigurovať a používať. SSH je špeciálny sieťový protokol, ktorý umožňuje vzdialený prístup k počítaču s vysoko zabezpečeným pripojením. Môžete si prečítať viac o protokole ssh.

Opis princípov činnosti a použitých aplikácií

SSH je v zásade implementovaný ako dve aplikácie - server SSH a klient SSH. Ubuntu používa bezplatnú implementáciu klienta SSH a servera, OpenSSH. Pri pripájaní klient prechádza autorizačnou procedúrou na serveri a medzi nimi je nadviazané šifrované spojenie. Server OpenSSH môže pracovať s protokolmi ssh1 aj ssh2. Protokol ssh1 sa v súčasnosti považuje za nezabezpečený, preto sa jeho použitie veľmi neodporúča. Zámerne vynechávam rôzne technické podrobnosti protokolu, pretože hlavným účelom tejto príručky je popísať jej konfiguráciu a použitie. Na internete existuje veľa článkov o samotnom protokole, jeho princípoch fungovania, šifrovacích algoritmoch atď., Napríklad si o ňom môžete prečítať podrobne.

Inštalácia

Inštalácia OpenSSH môžete použiť príkaz z terminálu:

sudo apt-get nainštalovať ssh

Balíček ssh obsahuje klienta aj server, ale to s najväčšou pravdepodobnosťou nainštaluje iba server, pretože klient je už predvolene zahrnutý v Ubuntu.

Ladenie servera

Počas inštalácie je server SSH automaticky zaregistrovaný na spustenie. Jeho spustenie, zastavenie alebo reštart môžete ovládať pomocou príkazov:

sudo služba ssh stop | začiatok | reštart

Hlavný konfiguračný súbor servera SSH je / etc / ssh / sshd_config, ktorý je čitateľný alebo upraviteľný iba superužívateľom. Po každej zmene tohto súboru musíte reštartovať server ssh, aby sa tieto zmeny mohli vykonať.

Príklad predvolenej konfigurácie servera SSH v Ubuntu:

# Príklad konfigurácie servera open-ssh s ruskými # # komentáre..2010. # # # # # # Konvencie: # # Štandardne sa sshd správa, keď # # nie je výslovne uvedené. Je potrebné poznamenať, že v Ubuntu # # súbor sshd_config už obsahuje množstvo nastavení, ktoré # # sú predvolenými nastaveniami pre Ubuntu. # # Tieto nastavenia sú špecifikované v tomto súbore. # # # ################################################### ############## ################# nastavenie adresy / portu atď. ##################################################### ####################### # # ### Port ########################## ################################ # # # Použitý port. Môžete určiť niekoľko, napríklad: # # Port 22 # # Port 23 # # Port 24 # # Odporúča sa používať neštandardný port, pretože # # štandard je často skenovaný robotmi kvôli # # potenciálnym dieram. Môže byť vynechané, ak je prostredníctvom adresy zadané # #. Pozrite si tiež parameter ListenAddress. # # # Port 22 # # ## ListenAddress ########################################## ### # # # Sieťová adresa, na ktorej server „počúva“. Adresa môže byť # # napísaná takto: # # ListenAddress host | IPv4_addr | IPv6_addr # # ListenAddress host | IPv4_addr: port # # ListenAddress: port # # Ak nie je zadaný žiadny port, sshd bude počúvať na tejto adrese a # # na porte uvedenom v možnosti Prístav. Ak # # používate ListenAddress bez uvedenia portu, musí možnosť # # Port predchádzať možnosti ListenAddress. Ak nie je zadaný # #, predvolene sa počúva na všetkých miestnych # # adresách. Je možné zadať viac adries. # # # ## AddressFamily ############################################# # # # Určuje, ktorú rodinu adries IP # # by mal používať sshd. Možné možnosti: # # „ľubovoľný“ - akýkoľvek # # „inet“ (iba IPv4) # # „inet6“ (iba IPv6) # # Predvolená hodnota je „akýkoľvek“. # AddressFamily inet # # ## UseDNS ############################################# ######## # # # Určuje, či má sshd skontrolovať názov hostiteľa a # # pomocou tohto názvu skontrolovať IP adresu prenášanú klientom pomocou # # získaného z DNS. # # Predvolená hodnota je „áno“. # # # ################################################### ############### ############## nastavenie prístupu používateľa ###################### #################################################### ### # # # Start / block user defined by # # DenyUsers, AllowUsers, DenyGroups, and AllowGroups directives. # # súčasne ide kontrola zhora nadol pozdĺž reťazca: # # ## DenyUsers ## # # || # # ## AllowUsers ## # # || # # ## DenyGroups ## # # || # # ## AllowGroups ## # # Akceptované sú iba používateľské mená a názvy skupín, číselné identifikátory # # (UserID) nie sú rozpoznané. Správne # # zápis viacerých používateľov / skupín postupne, oddelených # # medzerou. Ak sú napísané vo formáte používateľ @ hostiteľ - potom sa # # používateľ a hostiteľ kontrolujú osobitne, čo umožňuje # # obmedziť prístup určitých používateľov pomocou # # určitých hostiteľov. Stojí za to pamätať, že # # smernice DenyUsers a AllowUsers berú # # používateľské meno ako parameter a DenyGroups a AllowGroups majú # # názov skupiny. Viac informácií o písaní mien používateľov a skupín nájdete v PATTERNS v manuáli ssh_config. # # # ## DenyUsers ############################################### ### # # # Zoznam POUŽÍVATEĽOV, KTORÍ NEMOHÚ používať sshd. # # Štandardne - nešpecifikované \u003d nikto nie je zakázaný. Tých. ak je tu zadaný # # užívateľ, bude mu odmietnutý prístup # # na ssh server. # # # ## AllowUsers ############################################### ## # # # Zoznam UŽÍVATEĽOV, KTORÝCH môže sshd používať, # # Predvolene - neuvedené \u003d všetci sú povolení. Tých. ak je zadaný # # aspoň jeden užívateľ, prístup ssh k serveru # # je k dispozícii iba pre neho. # # # ## DenyGroups ############################################# ## # # # Zoznam SKUPÍN, ktoré NEMôŽE sshd použiť. # # Štandardne - nešpecifikované \u003d žiadna skupina nie je zakázaná. # # Tj ak je zadaná aspoň jedna skupina, potom používateľom # # zahrnutým v tejto skupine bude zamietnutý prístup k serveru ssh # #. # # # ## AllowGroups ############################################## # # # # Zoznam SKUPÍN, ktoré môže sshd použiť. # # Štandardne - nešpecifikované \u003d povolené pre všetkých. Tých. ak je zadaná # # aspoň jedna skupina, potom bude povolený prístup k serveru ssh iba tým používateľom # #, ktorí sú jej súčasťou. # # # ####################### ######################################## ######### Možnosti určenie stavu pripojenia ############ ###################################### ######################### # # # # TCPKeepAlive ######################## ######################## # # # # Označuje, či má systém odosielať správy TCP klientovi # #, aby sa udržalo pripojenie. Ak pošlete tieto pakety, # # môžete zistiť, či je pripojenie prerušené. Tiež to však # # znamená, že pripojenie môže byť prerušené v prípade # # krátkeho výpadku smerovania a # # je to pre niektorých veľmi nepríjemné. Na druhej strane, ak také správy neposielate #, relácie na serveri môžu pokračovať # # na neurčito a objavovať # # používateľov - „duchov“, # # a hltať zdroje servera. Predvolená hodnota je „áno“, # # t.j. posielať takéto správy. Ak chcete zakázať odosielanie takýchto správ #, nastavte hodnotu na „nie“. Táto možnosť # # sa predtým volala KeepAlive. Stojí za zmienku, že # # existujú bezpečnejšie spôsoby, ako skontrolovať # # stav pripojenia (pozri nižšie). # # # TCPKeepAlive áno # # ## ClientAliveCountMax ###################################### # # # Určuje počet správ klientom, ktoré sshd # # odosiela za sebou bez prijatia akejkoľvek odpovede od klienta # #. Ak je dosiahnutá prahová hodnota a # # klient stále neodpovedal, sshd odpojí klienta a preruší reláciu # # ssh. Je potrebné poznamenať, že použitie takýchto # # správ sa zásadne líši od smernice TCPKeepAlive. # # Správy do / z klientov sa posielajú cez šifrovaný # # kanál, a preto nepodliehajú falšovaniu. Správy # # TCPKeepAlive sú náchylné na falšovanie. Mechanizmus života klienta # # je obzvlášť cenný v prípadoch, keď server a klient potrebujú # # vedieť, kedy bolo pripojenie neaktívne. Predvolená hodnota # # je 3. Ak je ClientAliveInterval # # nastavený na 15 a ClientAliveCountMax je ponechaný na # # predvolenom nastavení, neodpovedajúci klienti budú odpojení približne # # po 45 sekundách. Táto smernica funguje iba pre protokol # # ssh2. # # # ## ClientAliveInterval ####################################### # # # Nastaví časový interval v sekúnd. Pokiaľ počas tohto intervalu nedošlo ku komunikácii s klientom # #, sshd # # odošle správu cez šifrovaný kanál # # so žiadosťou o odpoveď od klienta. Predvolená hodnota je 0, t.j. # # takéto správy neposielajte. Táto smernica funguje # # iba pre protokol ssh2. # # # ################################################## ############### ################# všeobecné možnosti overenia ################################################ ##################################################### ######## # # ## AuthorizedKeysFile ####################################### # # # # Určuje súbor, ktorý obsahuje verejné kľúče # # používané na autentifikáciu používateľov. Direktíva # # môže obsahovať značky ako% M, ktoré sú nahradené v # # počas vytvárania spojenia. # # Definované sú nasledujúce tokeny: # # %% - nahradené doslovným „%“ # #% h - nahradené domovským adresárom # # autentifikujúceho používateľa # #% u - nahradené menom autentifikujúceho používateľa # # 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. # # súbor pre každého používateľa). # # Predvolená hodnota je „.ssh / authorized_keys“. # # Príklad kľúčového súboru v domovskom priečinku používateľa: # # AuthorizedKeysFile% h / .ssh / authorized_key # # Príklad zdieľaného súboru: # # AuthorizedKeysFile / etc / ssh / authorized_keys # # Viac informácií # # v popise súboru authorized_keys. # # # ## ChallengeResponseAuthentication ########################## # # # Určuje, či sa má povoliť autentifikácia výzva-odpoveď # # (autentifikácia výzva-odpoveď) ). Všetky typy autentifikácie # # z login.conf sú podporované. Predvolene - „áno“, # # tj. povoliť. # # V Ubuntu zakázané z bezpečnostných dôvodov. # # # ChallengeResponseAuthentication no # # ## HostbasedUsesNameFromPacketOnly ########################## # # # Určuje, ako má server získať názov hostiteľa klienta # # keď autentifikačná schéma založená na validácii hostiteľa. # # Ak je nastavené na „áno“, sshd # # použije pri kontrole zhody v súboroch # # názov hostiteľa dodaný klientom # # ~ / .shosts, ~ / .rhosts alebo /etc/hosts.equiv. # # (robí reverzné rozlíšenie DNS) Ak je nastavené na „nie“ # # - sshd vyrieši názov zo samotného TCP spojenia. # # Predvolená hodnota je „nie“. # # # ## IgnoreRhosts ############################################### # # # Zabraňuje použitiu súborov .rhosts a.shosts # # počas hostiteľskej autentifikácie. # # (RhostsRSAAuthentication alebo HostbasedAuthentication). # # Súbory /etc/hosts.equiv a /etc/ssh/shosts.equiv sa stále # # používajú. # # Predvolená hodnota je „áno“. # # # IgnoreRhosts áno # # ## IgnoreUserKnownHosts ###################################### # # # označuje či má sshd počas # # hostiteľskej autentifikácie # # (RhostsRSAAuthentication alebo HostbasedAuthentication) ignorovať používateľský súbor # „known hosts“ ~ / .ssh / known_hosts. # # Predvolená hodnota je „nie“. # # # ## PermitBlacklistedKeys ##################################### # # # Označuje, či má byť prijatý sshd kľúče na čiernej listine # # ako napadnuté (známe # # ohrozené # kľúče (pozri ssh-vulnkey)). Ak je nastavená na „áno“ - # # pokusy o autentifikáciu s takýmito kľúčmi budú zaznamenané # # a akceptované, ak „nie“ - pokusy o autentifikáciu # # budú odmietnuté. # # Predvolená hodnota je „nie“. # # # ## PermitEmptyPasswords ###################################### # # # V prípade povolenej autentifikácie s pomocou hesla určuje # #, či je možné prihlásiť sa pomocou prázdneho hesla. # # Predvolená hodnota je „nie“. # # # PermitEmptyPasswords no # # ## PermitRootLogin ########################################## # # # # Označuje, či je ssh prihlásenie možné ako superužívateľ # # (root). Možné hodnoty: # # „áno“ - superuser sa môže prihlásiť. # # Je použitá aktuálna globálna schéma autentifikácie. # # # # „Bez hesla“ - superuser sa môže prihlásiť. # # Overenie hesla bude pre ňu zakázané. # # # # „Iba vynútené príkazy“ - superuser sa bude môcť prihlásiť # # pomocou overenia pomocou verejného kľúča a # #, iba ak zadá príkaz, ktorý musí vykonať. # # Toto je užitočné na zálohovanie, # # aj keď je to normálne (t. J. Nie cez ssh) # # root root je odmietnuté. Budú blokované všetky ostatné # # metódy autentifikácie pre superužívateľa. # # # # „Nie“ - superuser nemôže na prihlásenie # použiť ssh. # # # # Predvolená hodnota je „áno“. # # # PermitRootLogin yes # # ## Protocol ########################################## ######### # # # Určuje, ktorý protokol by sshd mal používať. # # Možné hodnoty pre '1' a '2' sú ssh1 a ssh2 # #. Je možné súčasné písanie, pričom # # oddeľuje hodnoty čiarkami. # # Predvolená hodnota je „2.1“. # # Stojí za zmienku, že poradie protokolov v položke # # nestanovuje prioritu, pretože klient si vyberie, ktoré # # z niekoľkých ponúkaných serverovými protokolmi použije # #. Položka „2,1“ je úplne rovnaká # # ako položka „1,2“. # # # Protokol 2 # # ## UsePAM ########################################## ########## # # # Povolí rozhranie PAM (rozhranie Pluggable Authentication Module # #). Ak je nastavené na „yes“ - pre všetky typy autentifikácie # # bude použitý modul relácie a účtu # # Bude použitá autentifikácia PAM na základe # # request-response (ChallengeResponseAuthentication a # # PasswordAuthentication). # # autentifikácia výzva - odpoveď v PAM zvyčajne vykonáva rovnakú rolu # # ako autentifikácia pomocou hesla, mali by ste # # zakázať buď PasswordAuthentication alebo # # ChallengeResponseAuthentication. Stojí za zmienku, že # # ak je povolená smernica UsePAM, nebudete môcť spustiť # # sshd ako iný užívateľ ako root. # # Predvolená hodnota je „nie“. # # # UsePAM yes # # ## PasswordAuthentication ################################### # # # Udáva, či či autentifikácia pomocou # # hesla. # # Predvolená hodnota je „áno“. # # # ## HostKey ############################################# ##### # # # Určuje súbor obsahujúci kľúč súkromného hostiteľa # # používaný serverom SSH. Predvolená hodnota je / etc / ssh / ssh_host_key # # pre protokol ssh1 a / etc / ssh / ssh_host_rsa_key a # # / etc / ssh / ssh_host_dsa_key pre protokol ssh2. Poznámka # #, že sshd nepoužije súbor, ktorý je # # prístupný nikomu inému ako používateľovi. Môžete # # použiť niekoľko 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 verzia 1 (ssh1) ### ##################################################### ###################### # Dôrazne sa NEDOPORUČUJE používať protokol ssh1. # # Protokol ssh2 je oveľa bezpečnejší ako ssh1 # ############ ################################################### # # ## KeyRegenerationInterval ############################################# # # Pre protokol ssh1 - raz v určitom čase # # automaticky sa vygeneruje nový dočasný kľúč servera # # (ak sa používa). Toto sa robí s cieľom # # zabrániť dešifrovaniu zachytených relácií s cieľom # # neskoršieho prihlásenia do stroja s parametrami týchto relácií a # # odcudzenia kľúčov. Takýto kľúč nie je nikde uložený (uložený v # # RAM). Táto smernica určuje # # kľúčové „životné“ obdobie v sekundách, po ktorom bude # # znovu vygenerované. Ak je hodnota nastavená na 0 - # #, kľúč sa už nebude generovať. # # Predvolená hodnota je 3600 (sekúnd). # # # KeyRegenerationInterval 3600 # # ## RhostsRSAAuthentication ################################### # # Označuje, či súborová autentifikácia # # rhosts alebo /etc/hosts.equiv v spojení s # # úspešná autentifikácia hostiteľa cez RSA. # # Relevantné iba pre protokol ssh1. # # Predvolená hodnota je „nie“. # # # RhostsRSAAuthentication no # # ## RSAAuthentication ######################################## # # # # Označuje, či je povolená čistá autentifikácia RSA. # # Relevantné iba pre protokol ssh1. # # Predvolená hodnota je „áno“. # # # RSAAuthentication áno # # ## ServerKeyBits ######################################### ### # # # Určuje počet bitov v dočasnom kľúči servera pre protokol # # ssh1. Minimálna hodnota je 512. # # Predvolená hodnota je 1024. # ServerKeyBits 768 # # ################################### ################################################### možnosti protokolu SSH verzia 2 (ssh2) #### ######## ############################################ ##################### # ### šifry ############################## ######################## # # # Určuje šifrovacie algoritmy povolené pre # # protokol ssh2. Viaceré algoritmy musia 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 ”. # # Používajú sa predvolené hodnoty: # # 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é overenie na základe # # overenia hostiteľa. Skontrolujte rhosts alebo /etc/hosts.equiv, # # a ak je úspešný, v kombinácii s úspešnou kontrolou # # verejného kľúča je prístup povolený. Táto smernica # # je rovnaká ako smernica RhostsRSAAuthentication a # # je vhodná iba pre protokol ssh2. # # Predvolená hodnota je „nie“. # # # HostbasedAuthentication no # # ## MACs ########################################## ############## # # # Zadáva platný algoritmus MAC (overovací kód # # správy). Algoritmus MAC používa protokol # ssh2 na ochranu integrity údajov. Viaceré # # algoritmy musia byť oddelené čiarkami. # # Použité predvolené nastavenie: # # hmac-md5, hmac-sha1, umac-64 @ openssh.com, hmac-ripemd160, # # hmac-sha1-96, hmac-md5-96 # # # ## PubkeyAuthentication ### ################################### # # # # Určuje, či je povolené # # overenie verejným kľúčom. Relevantné iba pre protokol ssh2. # # Predvolená hodnota je „áno“. # # # PubkeyAuthentication yes ############################################### ################ #################### GSSAPI Možnosti ############## #################################################### ######################## # # # ############# Vzťahuje sa iba na protokol ssh2 ######### ### # # ## GSSAPIAuthentication ###################################### # # # označuje, či či je autentifikácia používateľa # # na základe GSSAPI. Predvolená hodnota je „nie“, t.j. Je zakázané. # # # ## GSSAPIKeyExchange ######################################### # # # označuje Či je povolená # # výmena kľúčov založená na GSSAPI. Výmena kľúčov pomocou GSSAPI sa pri overovaní identity hostiteľa nespolieha na kľúče # # ssh. # # Predvolená hodnota je „nie“ - t.j. výmena je zakázaná. # # # ## GSSAPICleanupCredentials ################################# # # # Určuje, či sa má automaticky zničiť # # custom cache autentifikačných údajov na konci # # relácie. # # Predvolené nastavenie je „áno“ - t.j. treba zničiť. # # # ## GSSAPIStrictAcceptorCheck ################################ # # # Určuje, aká silná by mala byť kontrola identity # # klienta pri autentifikácii cez GSSAPI. # # Hodnota „Yes“ núti klienta autentifikovať sa na # # prijímajúcej hostiteľskej službe na aktuálnom hostiteľovi. Hodnota „nie“ # # umožňuje klientovi autentifikáciu pomocou ľubovoľného # # kľúča služby. # # Predvolená hodnota je „áno“. # # Upozorňujeme, že nastavenie hodnoty na „nie“ môže # # fungovať iba so vzácnymi knižnicami Kerberos GSSAPI. # # # ################################################## ################################# možnosti protokolu Kerberos ################## #################################################### ##################### # # ## KerberosAuthentication ############################ ######## # # # Určuje, či heslo poskytnuté používateľom # # na overenie totožnosti # # (PasswordAuthentication) vyžaduje overenie platnosti v KDC Kerberos. # # Ak chcete použiť túto možnosť, server potrebuje # # na overenie, či je KDC pravdivé. (Server potrebuje serv # # Kerberos, ktorá umožňuje overenie identity # # KDC) # # Predvolené nastavenie je „nie“. # # # ## KerberosGetAFSToken ###################################### # # # Ak je AFS aktívny a používateľ dostal Kerberos 5 TGT, # # či sa pokúsi získať token AFS skôr, ako používateľ # # získa prístup do svojho domovského priečinka. # # Predvolená hodnota je „nie“. # # # ## KerberosOrLocalPasswd ################################### # # # označuje spôsob riešenia ak # # autentifikácia cez Kerberos zlyhala. Ak # # value \u003d "yes" - heslo bude overené pomocou # # ľubovoľného dodatočného mechanizmu miestnej autorizácie, napríklad # # - / etc / passwd. # # Predvolená hodnota je „áno“. # # # ## KerberosTicketCleanup ##################################### # # # Určuje, či sa má automaticky zničiť c # # súbor s vyrovnávacou pamäťou lístkov používateľov po ukončení relácie. # # Predvolená hodnota je „áno“. # # # ################################################## ################################ možnosti presmerovania ################### ## ################################################### ############## # # ### AllowAgentForwarding #################################### ### # # # Určuje, či sa má povoliť alebo zakázať presmerovanie # # ssh-agent "a. Predvolená hodnota je„ áno ", t. J. Povoliť. # # Je potrebné poznamenať, že deaktivácia presmerovania nezvýši # # bezpečnosť, kým nebudú zároveň aj používatelia. # # Prístup k shellu bude zamietnutý, pretože si môžu kedykoľvek # # nainštalovať svoje vlastné náprotivky agentov. # # # ## AllowTcpForwarding ######################### ################# # # # Určuje, či sa má povoliť alebo zakázať presmerovanie TCP. # # Predvolená hodnota je „áno“, t. povoliť. Stojí za zmienku, že # #, rovnako ako pri AllowAgentForwarding, deaktivácia # # presmerovania nezvýši bezpečnosť, zatiaľ čo # # používatelia majú prístup ku konzole, pretože # # môžu # # nainštalovať svoje náprotivky. # # # # # ## GatewayPorts ########################################### ## # # # Určuje, či povoliť vzdialeným hostiteľom prístup k # # preposlaným portom. V predvolenom nastavení sshd počúva # # pripojenia k preposielaným portom iba na lokálnom # # rozhraní (spätná väzba). Toto znemožňuje ostatným vzdialeným hostiteľom pripojiť sa k preposielaným portom. Môžete # # použiť GatewayPorts a povoliť tak sshd # #. Smernica môže mať 3 hodnoty: # # „nie“ - iba spätná väzba. # # "áno" - akékoľvek adresy. # # "clientspecified" - adresy zadané klientom. # # # ## PermitOpen ############################################## ## # # # Určuje, kde je povolené presmerovanie portov TCP. $ # # Argument „any“ možno použiť na odstránenie všetkých # # zákazov presmerovania portov. Predvolene je povolené akékoľvek # # presmerovanie. # # # ## PermitTunnel ############################################### # # # Označuje, či je povolené presmerovanie zariadenia tun. # # Možné hodnoty: # # „áno“ # # „bod-bod“ (3. sieťová vrstva) # # „ethernet“ (2. sieťová vrstva) # # „nie“ # # Hodnota „áno“ umožňuje ako point-to-point # #, tak aj ethernet. Predvolená hodnota je „nie“. # # # ################################################## ################################# možnosti protokolovania ################## ### ################################################## ############## # # ## SyslogFacility ################################## ########## # # # # Určuje ID objektu protokolu na písanie správ na # # sshd. Možné hodnoty: # # DAEMON # # USER # # AUTH # # LOCAL0 # # LOCAL1 # # LOCAL2 # # LOCAL3 # # LOCAL4 # # LOCAL5 # # LOCAL6 # # LOCAL7 # # Predvolená hodnota je AUTH. # # # SyslogFacility AUTH # # ## LogLevel ########################################## ######## # # # Nastaví úroveň výrečnosti protokolu sshd. # # Možné možnosti sú # # SILENT # # QUIET # # FATAL # # CHYBA # # INFO # # VERBOSE # # DEBUG # # DEBUG1 # # DEBUG2 # # DEBUG3 # # Predvolená hodnota je INFO. # # DEBUG a DEBUG1 sú si navzájom rovnocenné. DEBUG2 a DEBUG3 nastavujú najvyššiu úroveň výstupu ladenia # #. Písanie protokolov s úrovňou DEBUG ohrozuje # # súkromie používateľa a neodporúča sa. # # # LogLevel INFO # # ############################################## ################## #################### X11 Redirect ############# ######## ############################################ #################### # ### X11Forwarding ############################## ################# # # # Určuje, či je povolené presmerovanie grafiky X11 # #. Môže to byť „áno“ alebo „nie“. # # Predvolená hodnota je „nie“. # # Pozor - umožnenie jednoduchého presmerovania X11 - # # veľké riziko pre server aj pre klientov ako v # # takomto presmerovaní prijíma pripojenie sshd proxy # # pripojenie z akejkoľvek adresy. Pomocou # # smernice X11UseLocalhost môžete obmedziť prístup k presmerovaciemu serveru # # xx. Stojí za zmienku, že # # deaktivácia presmerovania nezaručí, že # # používatelia nebudú môcť presmerovať X11, pretože majú # # prístup ku konzole, vždy nastavia svojho # # presmerovača. Presmerovanie X11 bude # # automaticky zakázané, ak je povolená # # direktíva UseLogin. # # # X11Posielanie ďalej áno # # ## X11UseLocalhost ########################################## # # # # Určuje, či má sshd obmedziť oblasť presmerovania # # X11 na adresu lokálnej spätnej väzby, alebo # # má povoliť akékoľvek adresy. Predvolená hodnota je sshd # # „nastaví“ presmerovací server X11 na lokálnu adresu # # a nastaví časť premennej prostredia DISPLAY # # zodpovednú za názov hostiteľa ako „localhost“. Upozorňujeme, že # # niektorí starší klienti X11 nemusia s týmto # # nastavením pracovať. Predvolená hodnota je „áno“, t.j. presmerovanie # # obmedzené localhostom, hodnota - „nie“ - zakáže # # obmedzenia. # # # ## XAuthLocation ############################################# # # # # Určuje úplnú cestu k programu xauth. # # Predvolená hodnota je / usr / bin / X11 / xauth. # # # ## X11DisplayOffset ########################################## # # # označuje číslo prvého displeja prístupného sshd v # # ako presmerovanie X11. Toto je # #, aby sa presmerované x nestretli s # # skutočnými. Predvolená hodnota je 10. # # # X11DisplayOffset 10 # # ######################################## ####################### ################### rôzne možnosti ######## ##################################################### ############################## # # ## LoginGraceTime #################### ##################################### # # # Čas, po ktorom server odpojí používateľa # #, ak sa nemohol uspokojivo prihlásiť # #. Hodnota 0 - umožňuje používateľovi # # prihlásiť sa na neurčito. Predvolená hodnota je 120 (sekúnd). # # # LoginGraceTime 120 # # ## MaxAuthTries ########################################## #### # # # Určuje maximálny povolený počet pokusov o autentifikáciu # # na jedno pripojenie. # # Keď počet neúspešných pokusov prekročí polovicu # # z danej hodnoty, všetky nasledujúce pokusy sa # # zapíšu do denníka. Predvolená hodnota je 6. # # # ## MaxSessions ######################################## ####### # # # Určuje maximálny počet súbežných pripojení # # pre každé sieťové pripojenie. Predvolená hodnota je 10. # # # ## MaxStartups ######################################### ###### # # # Určuje maximálny počet súbežných # # neoprávnených pripojení k sshd. Ak # # počet pripojení presahuje limit, všetky ďalšie # # spojenia sa zrušia, kým sa súčasné # # spojenia nedokončia buď úspešnou autorizáciou, # # alebo vypršaním časového obdobia uvedeného v smernici # # LoginGraceTime. Predvolená hodnota je 10. # # Ďalej môžete nastaviť predčasné vynulovanie pripojení, # # zadaním troch hodnôt ako parametra, # # oddelených dvojbodkou „start: rate: full“ (napríklad: 10:30:60). # # sshd odmietne pokus o pripojenie s pravdepodobnosťou rovnou # # „sadzba / 100“ (tj. v našom príklade - 30%), ak už existuje # # „štart“ (10) neoprávnených pripojení. # # Pravdepodobnosť sa zvyšuje lineárne a akékoľvek # # pokusy o pripojenie budú odmietnuté, ak počet neoprávnených # # pripojení dosiahne „plný“ (60). # # # ## Compression ############################################### # # # # Označuje, či je povolená kompresia údajov. Môže byť # # „áno“ - kompresia je povolená. # # "oneskorené" - kompresia je oneskorená, kým # # nebude používateľ úspešne autentifikovaný. # # "nie" - žiadna kompresia. # # Predvolené nastavenie je „oneskorené“. # # # ## UseLogin ############################################### #### # # # Určuje, či sa má pre interaktívnu reláciu použiť # #. Predvolená hodnota je „nie“. # # Stojí za zmienku, že prihlásenie nebolo nikdy použité na # # vykonávanie vzdialených príkazov. Pamätajte tiež na to, že # # pomocou prihlásenia znemožníte # # používať smernicu X11Forwarding, pretože prihlásenie nevie # #, čo má robiť s xauth. Ak je povolená smernica # # UsePrivilegeSeparation, po # # autorizácii sa deaktivuje. # # # ## UsePrivilegeSeparation ########################################### # # # # Určuje, či má sshd zdieľať oprávnenia ... Ak áno # # - potom sa pre prichádzajúci sieťový prenos najskôr vytvorí neprivilegovaný proces dieťaťa # #. Po úspešnej # # autorizácii sa vytvorí ďalší proces s oprávneniami # # prihláseného používateľa. Hlavným účelom zdieľania oprávnení # # je zabrániť prekročeniu prístupových oprávnení. # # Predvolená hodnota je „áno“. # # # UsePrivilegeSeparation yes # # ## StrictModes ########################################## ##### # # # Určuje, či má sshd skontrolovať režimy prístupu a # # vlastníctvo používateľských priečinkov a súborov skôr, ako # # umožní používateľovi prihlásiť sa. Je to zvyčajne preto, že # # nováčikovia často robia svoje súbory zapisovateľnými # #. Predvolená hodnota je „áno“. # # # StrictModes yes # # ## AcceptEnv ########################################## ####### # # # Určuje, ktoré premenné prostredia odovzdané # # klientom budú akceptované. Pozrite si na klientovi možnosť SendEnv. # # Je potrebné poznamenať, že prenos premenných je možný iba # # pre protokol ssh2. Premenné sú určené menom, # # môžete použiť masky („*“ a „?“). Môžete určiť # # niekoľko premenných oddelených medzerou alebo ich rozdeliť na # # niekoľko riadkov AcceptEnv. Buďte opatrní - niektoré # # premenné prostredia možno použiť na obídenie # # zakázaných používateľských prostredí. Túto # # smernicu používajte opatrne. V predvolenom nastavení nie sú akceptované žiadne # # používateľom definované premenné prostredia. # # # AcceptEnv LANG LC_ * # # ## PermitUserEnvironment #################################### # # # # Určuje, či má sshd v # # # ~ / .ssh / authorized_keys akceptovať voľbu # # ~ / .ssh / environment a environment \u003d. Predvolená hodnota je „nie“. Stojí za povšimnutie # #, že umožnenie spracovania prostredia môže # # umožniť používateľom obísť obmedzenia v niektorých # # konfiguráciách pomocou mechanizmov ako # # LD_PRELOAD. # # # # # ## PidFile ############################################ ####### # # # Určuje súbor obsahujúci ID procesu # # (ID procesu, PID) démona SSH. # # Predvolená hodnota je /var/run/sshd.pid # # # # # ## PrintLastLog ############################## ################ # # # Určuje, či má sshd pri interaktívnom prihlásení zobraziť dátum a čas # # poslednej služby. # # Predvolená hodnota je „áno“. # # # PrintLastLog áno # # ## PrintMotd ########################################## ####### # # # Určuje, či má sshd zobrazovať interaktívne prihlásenie / etc / motd # #. V niektorých # # systémoch (napr. Ubuntu) tieto informácie zobrazuje # # aj shell. # # Predvolená hodnota je „áno“. # # # PrintMotd č. # ### Banner ########################################### ########## # # # # Určuje, ktorý súbor obsahuje textový banner, ktorý sa # # zobrazí používateľovi PRED # # autentifikačným postupom. Táto možnosť je k dispozícii iba pre protokol ssh2. # # V predvolenom nastavení nič nezobrazuje. # # V Ubuntu obsahuje súbor issue.net frázu Ubuntu (verzia), # # napríklad pre karmic je to „Ubuntu 9.10“. Môže sa # # použiť na dezorientáciu potenciálnych útočníkov, # # tým, že sa tam napíše napr. „My D-Link Interet Router“ \u003d) # # # Banner /etc/issue.net # # ## ChrootDirectory ############ ################################################ # # # Ak je zadané - poskytuje cestu, kde # # bude po autentifikácii chroot. Cesta a všetok jej obsah # # musí zodpovedať zložkám vlastneným # # superužívateľom a nesmie byť prístupný na písanie # # iným používateľom. # # Cesta môže obsahovať štítky, ktoré sú nahradené v # # procese autentifikácie: # # %% - je nahradený doslovným „%“ # #% h - je nahradený domovským adresárom # # autentizovaného používateľa # #% u - je nahradený menom autentifikovaného používateľa # # chroot -priečinok by mal obsahovať všetky potrebné súbory a # # priečinky pre reláciu používateľa. Interaktívna relácia # # vyžaduje minimálne: # # shell, zvyčajne sh # # základné zariadenia v / dev ako: # # , zero, stdin, stdout, stderr, arandom a tty # # pre reláciu prenosu dát pomocou sftp nie sú potrebné žiadne ďalšie nastavenia # # ak používate # # interný proces servera sftp. # # Ďalšie informácie nájdete v časti Subsystém. V predvolenom nastavení sa chroot nevykonáva. # # # ## ForceCommand ############################################# # # # Vynúti vykonanie zadaného príkazu. Ignoruje # # akékoľvek príkazy zadané klientom alebo napísané v # # ~ / .ssh / rc. Príkaz je vyvolaný z shellu užívateľa # # s voľbou -c. Vhodné na spustenie shellu, príkazu # # alebo subsystému. Najužitočnejšie vo vnútri bloku # # Match. Príkaz pôvodne vydaný klientom je uložený # # v premennej prostredia SSH_ORIGINAL_COMMAND. Ak # # zadáte príkaz „internal-sftp“, # # sa spustí interný server sftp, ktorý nepotrebuje ďalšie # # súbory a priečinky opísané v smernici ChrootDirectory. # # # ## Subsystém ############################################## ### # # # Definuje a konfiguruje externý subsystém (napríklad # # démon na prenos súborov). # # Argumenty sú názov a príkaz (s možnými # # argumentmi), ktorý sa vykoná počas požiadavky # # na subsystémy. Príkaz sftp-server spustí subsystém "sftp" - # # prenos súborov. Ďalej môžete určiť # # ako subsystém „internal-sftp“ - ktorý spustí # # interný server sftp. To môže výrazne zjednodušiť # # konfiguráciu pri použití smernice # # ChrootDirectory. V predvolenom nastavení sa nevyvolávajú žiadne podsystémy # #. Relevantné iba pre protokol ssh2. # # # Subsystém sftp / usr / lib / openssh / sftp-server # # ################################### #################################################### blokovanie zhody ############################################################ ########################################## # # # # # write Pravidlá zápasu. # # MadKox. # # # # Direktíva Match je začiatkom podmieneného # # bloku. Ak sú splnené všetky kritériá uvedené v riadku # # Match, vykonajú sa smernice v nasledujúcich riadkoch bloku, # # umožňujúce obísť hodnoty globálnych smerníc súboru # # sshd_config pre prípad, ktorý je kritériom pre smernicu # # Match. Všetky riadky za riadkom # # s kritériom (Zhoda - riadky) až do nasledujúceho riadku zhody # # alebo do konca súboru sa považujú za blok. Argumentom direktívy Match je jeden alebo # # viac párov záznamov kritérií. Možné typy záznamov: # # Používateľ # # Skupina # # Hostiteľ # # Adresa # # Záznamy môžu obsahovať jednotlivé hodnoty # # (napríklad User \u003d používateľ), aj niekoľko hodnôt, # # oddelené čiarkami (User \u003d user1, user2). Regulárne výrazy # # možno tiež použiť tak, ako je popísané v časti # # VZORY súboru ssh_config. Záznamy v # # Kritériách adresy môžu obsahovať adresy v zápise CIDR # # (adresa / dĺžka masky, napríklad „192.0.2.0/24“ alebo # # „3ffe: ffff :: / 32“). Stojí za zmienku, že zobrazená dĺžka masky # # sa musí zhodovať s adresou a príliš # # dlhá / krátka pre adresu nebude fungovať. # # Pretože direktívy Match môžu používať iba # # určitú skupinu smerníc: # # AllowTcpForwarding # # Banner # # ChrootDirectory # # ForceCommand # # GatewayPorts # # GSSAPIAuthentication # # HostbasedAuthentication # # KbdInteractiveAuthentication # # KerberosAuthentication # # MaxAuthries Overenie hesla # # PermitOpen # # PermitRootLogin # # RhostsRSAAuthentication # # RSAAuthentication # # X11DisplayOffset # # X11Forwarding # # X11UseLocalHost #

Vyššie uvedený text môžete skopírovať do svojho vlastného súboru sshd_config a použiť ho neskôr na konfiguráciu.

Chybne nakonfigurovaný server SSH je sám o sebe obrovskou chybou zabezpečenia systému, pretože potenciálny útočník má schopnosť získať takmer neobmedzený prístup do systému. Okrem toho má sshd mnoho ďalších užitočných možností, ktoré by ste mali povoliť na zlepšenie použiteľnosti a bezpečnosti.

Port, ListenAddress a AddressFamily

Tieto tri parametre určujú, na ktorých portoch a adresách bude váš server čakať na prichádzajúce pripojenia. Najskôr má zmysel, ak je to možné, obmedziť rodinu spracovávaných adries na tie skutočne použité, to znamená, že ak používate iba IPv4, zakážte IPv6 a naopak. To je možné urobiť napríklad pomocou parametra AddressFamily (na povolenie protokolu IPv4 a deaktiváciu protokolu IPv6):

AdresaRodina inet

Po druhé, je vhodné zmeniť štandardný port (22), na ktorom sshd počúva. Je to tak kvôli skutočnosti, že početné sieťové skenery sa neustále pokúšajú pripojiť k 22. portu a získať aspoň prístup pomocou prihlasovacích údajov / hesiel hrubou silou zo svojej databázy. Aj keď máte zakázané overovanie pomocou hesla, tieto pokusy silno upchávajú protokoly a (vo veľkom počte) môžu negatívne ovplyvniť rýchlosť servera ssh. Ak z nejakého dôvodu nechcete zmeniť štandardný port, môžete na boj s brutálnym vynútením použiť napríklad rôzne externé nástroje, napríklad fail2ban, aj vstavané nástroje, ako napríklad MaxStartups.
Port môžete nastaviť ako absolútnu hodnotu pre všetky rozhrania pomocou smernice Port alebo ako konkrétnu hodnotu pre každé rozhranie pomocou smernice ListenAddress. Napríklad:

Prístav 2002

ListenAddress 192.168.0.1:2003 ListenAddress 192.168.1.1:2004

Zakázať vzdialený prístup pre superužívateľa

V predvolenom nastavení je prístup root zakázaný heslom (pomocou kľúča - môžete) - voľba PermitRootLogin je nastavená na hodnotu bez hesla. Ale za predpokladu, že používateľ, ktorý bol v systéme Ubuntu pridaný počas inštalácie systému, má schopnosť vyriešiť všetky administratívne úlohy pomocou sudo, sa javí ako nerozumné vytvárať schopnosť rootovať prístup do systému pomocou ssh (aj pri autentifikácii pomocou kľúča). Odporúča sa úplne vypnúť. túto možnosť, alebo ju použite iba v režime iba vynútených príkazov. Prístup root môžete zakázať takto:

PermitRootLogin č

Overenie hesla

Predvolené overenie pomocou hesla je takmer najprimitívnejší spôsob prihlásenia do sshd. Na jednej strane to zjednodušuje konfiguráciu a pripojenie nových používateľov (používateľovi stačí, aby poznal svoje prihlasovacie meno / heslo do systému), na druhej strane sa dá heslo vždy nájsť a používatelia často zanedbávajú tvorbu zložitých a dlhých hesiel. Špeciálni roboti neustále skenujú servery ssh dostupné z Internetu a pokúšajú sa k nim prihlásiť pomocou prihlasovacích údajov / hesiel hrubou silou z ich databázy. Dôrazne sa neodporúča používať autentifikáciu pomocou hesla. Môžete ho deaktivovať takto:

HesloAuthentication no

Ak z nejakého dôvodu stále chcete používať autentifikáciu pomocou hesla, uistite sa, že sa nikto nemôže prihlásiť pomocou prázdneho hesla. Za týmto účelom nastavte smernicu PermitEmptyPasswords:

PermitEmptyPasswords č

Protokoly SSH1 a SSH2

Ako už bolo spomenuté, sshd dokáže spracovať protokoly SSH1 a SSH2. Používanie nezabezpečeného SSH1 sa však veľmi neodporúča. Môžete vytvoriť sshd tak, aby fungoval iba s protokolom SSH2 takto:

Autentifikácia kľúča SSH2 RSA

Najvýhodnejšou metódou overovania je autentifikácia pomocou kľúča SSH2 RSA. Týmto spôsobom užívateľ vygeneruje pár kľúčov na svojej strane, z ktorých jeden je tajný a druhý verejný. Verejný kľúč sa skopíruje na server a slúži na overenie totožnosti používateľa. Ďalšie informácie o vytvorení dvojice kľúčov a spôsobe ich umiestnenia na server nájdete v popise klienta SSH. Overenie verejného kľúča môžete povoliť nasledovne:

PubkeyAuthentication áno

Server musí vedieť, kde má hľadať verejný kľúč používateľa. Používa sa na to špeciálny súbor authorized_keys. Jeho syntax môže byť nasledovná:

# Komentáre sa píšu iba na novom riadku # všeobecné zobrazenie záznamov v súbore authorized_keys # [možnosti] typ kľúča (ssh-rsa alebo ssh-dss) very_long_string_inpochopiteľné pre jednoduchého_ľudského [login @ hostiteľa] ssh-rsa AAAAB3Nza ... LiPk \u003d\u003d [email protected] od \u003d "*. sales.example.net ,! pc.sales.example.net" ssh-rsa AAAAB2 ... 19Q \u003d\u003d [email protected] príkaz \u003d "výpis / domov", no-pty, no-port- preposielanie ssh-dss AAAAC3 ... 51R \u003d\u003d example.net permitopen \u003d "192.0.2.1:80", permitopen \u003d "192.0.2.2:25" ssh-dss AAAAB5 ... 21S \u003d\u003d tunel \u003d "0", príkaz \u003d "sh / etc / netstart tun0" ssh-rsa AAAA ... \u003d\u003d [email protected]

Môžete určiť buď jeden zdieľaný súbor s kľúčmi, alebo jeden súbor pre každého používateľa. Druhá metóda je pohodlnejšia a bezpečnejšia, pretože po prvé môžete určiť rôzne kombinácie kľúčov pre každého používateľa a po druhé obmedziť prístup k verejnému kľúču používateľa. Súbor s kľúčmi môžete nastaviť pomocou smernice AuthorizedKeysFile:

AuthorizedKeysFile% h / .ssh / my_keys

pre schému užívateľ - súbor
alebo

AuthorizedKeysFile / etc / ssh / authorized_keys

pre schému so zdieľaným súborom. Klient SSH predvolene vyhľadáva kľúče v súbore ~ \u200b\u200b/ .ssh / authorized_keys.

Viac o bezpečnosti

Ďalšie nastavenia

Používatelia a skupiny.

Ak máte na serveri veľa používateľov a chcete povoliť prístup cez ssh iba niektorým z nich, môžete použiť smernice DenyUsers, AllowUsers, DenyGroups a AllowGroups. Viac podrobností o týchto smerniciach nájdete v komentároch v príklade sshd_config.

Možnosti zisťovania stavu pripojenia

Štandardne je z metód zisťovania stavu pripojenia zahrnutá iba metóda kontroly TCP spojenia - TCPKeepAlive, sshd však dokáže zistiť stav spojenia pohodlnejším a bezpečnejším spôsobom. Podrobnosti nájdete v súvisiacej sekcii v príklade sshd_config.

Výkon. MaxStartups

Presmerovanie prístavu

Presmerovanie X11

Na serveri nastavte parameter v súbore / etc / ssh / sshd_config (predvolene povolený):

ForwardX11 áno

Na klientovi nastavte parametre v súbore / etc / ssh / ssh_config (predvolene zakázané):

ForwardAgent áno ForwardX11 áno

Môžete ho spustiť na klientovi ako ssh yurauname @ serverip firefox. Alebo najskôr choďte na ssh yurauname @ serverip a potom ho spustite, napríklad sudo synaptic.

SFTP

Sshd má štandardne zabudovaný server SFTP. SFTP (SSH File Transfer Protocol) je protokol na prenos súborov SSH. Je navrhnutý na kopírovanie a vykonávanie ďalších operácií so súbormi prostredníctvom bezpečného a spoľahlivého pripojenia. Spravidla sa ako základný protokol na zabezpečenie spojenia používa protokol SSH2. Ak chcete povoliť podporu SFTP, pridajte riadok do sshd_config

Subsystém sftp / usr / lib / openssh / sftp-server

Predvolene je povolená podpora SFTP.

Pomocou kritérií. Direktíva o zhode

Nastavenie klienta SSH

Najbezpečnejšie prihlásenie je kľúčové a vo väčšine prípadov je táto funkcia povolená na strane servera, takže na jej použitie nie sú potrebné žiadne práva superužívateľa. Vygenerujte kľúč na klientskom počítači:

ssh-keygen -t rsa

Dostávame ponuku na zadanie hesla na ochranu súboru kľúča (ukáže sa ako užitočné, ak sa súbor dostane do nesprávnych rúk). Pokiaľ sa chystáme spúšťať skripty cez SSH, necháme to prázdne. Verejný kľúč prenesieme na server príkazom

Ssh-copy-id -i ~ / .ssh / id_rsa.pub užívateľ @ server

Všetko, môžete ísť.

Keď ssh beží na neštandardnom porte:

Ssh-copy-id -i ~ / .ssh / id_rsa.pub "-p port užívateľ @ server"

Ak sa vyskytne chyba: Chybný port „umask 077; test -d .ssh || mkdir .ssh; mačka \u003e\u003e .ssh / authorized_keys“

skúste vziať parametre do úvodzoviek:

Ssh-copy-id "-i /home/user/.ssh/id_rsa.pub" -p port užívateľ @ server ""

Pri pripojení k vzdialenému systému je vhodné použiť obslužný program obrazovky.

Nastavenie vzdialeného adresára ssh v Nautiluse

Pripojenie vzdialeného adresára pomocou sshfs

Pripojte vzdialený adresár k miestnemu adresáru

sshfs user @ hostingserver.ru:/ home / userdir ~ / sshfsdir

Odpojenie

Fusermount -u ~ / sshsfdir

SSH aliasy

Pri použití viacerých serverov s rôznymi prístupovými parametrami (neštandardný port, dlhý názov hostiteľa, iné ako miestne prihlasovacie údaje atď.) Je niekedy únavné zakaždým znova zadať všetky nastavenia spojenia. Na uľahčenie toho môžete použiť aliasy.

Nastavenia sú uložené v ~ / .ssh / config pre jedného používateľa a / etc / ssh / ssh_config globálne pre všetkých používateľov.

Príklad konfigurácie. Je možné popísať veľa serverov. Viac v muž ssh_config (nesmie byť zamieňaný s sshd_config)

Názov hostiteľa Alias \u200b\u200b# Ľubovoľný názov hostiteľa Názov hostiteľa 1.2.3.4 # Môžete zadať adresu IP aj názov hostiteľa (ak DNS funguje) Používateľ Vaše Používateľské meno # Ak sa používateľ nezhoduje s miestnym používateľom Port Váš SSHPort # Ak neštandardný port

Potom sa pomocou príkazu môžete pripojiť k serveru

ssh AliasName

ssh-agent

Diagnostikujú sa problémy s pripojením

    Analýza protokolu pripojenia:

ssh -vvv užívateľ @ hostiteľ

    Analýza konfiguračných súborov klienta a servera.

Umiestnenie konfiguračných súborov nájdete z

Muž ssh muž sshd

Používanie čipových kariet

1. Vytvorenie certifikátu a exportovanie verejného kľúča, ako aj klientskej časti systému Windows + Putty SC je popísané na webovej stránke: http://habrahabr.ru/post/88540/ Tam opísaný doplnok Key Manager je k dispozícii iba v starších verziách prehliadača Firefox. Testované na verzii 3.5 pre Windows. Priamy odkaz na doplnok: https://addons.mozilla.org/ru/firefox/addon/key-manager/

2. Príprava servera. Musíte sa ubezpečiť, že konfigurácia sshd umožňuje autentifikáciu pomocou verejných kľúčov. Za týmto účelom nastavte v súbore sshd_config hodnotu parametra PubkeyAuthentication na hodnotu yes. Potom pridajte náš verejný kľúč získaný skôr (v jednom riadku) do súboru "~ / .ssh / authorized_keys". Upozorňujeme, že súbor „.ssh / authorized_keys“ sa nachádza v domovskom adresári používateľa, ktorý sa potom prihlási pomocou verejného kľúča.

3. Klientská časť v systéme Linux. Bude potrebné znovu zostaviť balík OpenSSH bez parametrov. Odporúčame zadať iba predpony adresára, napríklad –prefix \u003d / usr. Upozorňujeme tiež, že konfiguračné súbory budú v priečinku / usr / atď. Skôr ako začnete, potrebujete nasledujúce balíčky: opensc-lite-devel, zlib-devel, openssl-devel. Inštalácia ovládača čipovej karty. Pre uľahčenie zadajte v konfigurácii ssh_config (nezamieňajte si s sshd_config) cestu ku knižnici pkcs: PKCS11Provider \u003d<путь к библиотеке>

4. Spustite ssh user @ host na klientovi. Ak je pripojená čipová karta (token), bude požadované heslo a bude prihlásená relácia SSH.

Možné problémy pri používaní

Známa kombinácia klávesov Ctrl + S používaná v mnohých editoroch na ukladanie opráv pri práci v termináli so serverom ssh povedie k vykonaniu príkazu XOFF, ktorý vyzerá ako zaseknutie relácie. Nie je to však tak. Server naďalej prijíma vstupné znaky a príkazy, ale nezobrazuje ich na obrazovke. Aby ste sa dostali z tejto situácie, stačí použiť kombináciu Ctrl + Q, čím opäť zapnete režim XON.

Odkazy

To znamená, že užívateľ1 môže byť registrovaný jednak sám v sebe - v súbore /home/user1/.ssh/keys), jednak v inom užívateľovi, čo mu umožní prihlásiť sa zo svojho počítača „pod sebou“ aj pod „iným“

Táto časť Sprievodcu serverom Ubuntu predstavuje výkonnú kolekciu nástrojov na diaľkové ovládanie a prenos dát medzi počítačmi v sieti s názvom OpenSSH. Dozviete sa tiež o niektorých konfiguračných nastaveniach možných pre serverovú aplikáciu OpenSSH a o tom, ako ich zmeniť na vašom systéme Ubuntu.

OpenSSH je voľne dostupná verzia rodiny protokolov Secure Shell (SSH) na diaľkové ovládanie alebo prenos súborov medzi počítačmi. Tradičné nástroje používané na vykonávanie týchto funkcií, ako napríklad telnet alebo rcp, sú nezabezpečené a pri použití prenášajú heslo používateľa v otvorenom texte. OpenSSH poskytuje serverového démona a klientske nástroje na uľahčenie zabezpečeného šifrovaného diaľkového ovládania a prenosu súborov, ktoré účinne nahradzujú starších nástrojov.

Komponent servera OpenSSH, sshd, nepretržite počúva pripojenia klientov z ktoréhokoľvek z nástrojov klienta. Keď sa vyskytne požiadavka na pripojenie, sshd nastaví správne pripojenie v závislosti od typu pripojenia klientskeho nástroja. Napríklad, ak sa vzdialený počítač pripája k klientskej aplikácii ssh, server OpenSSH nastaví po autentifikácii reláciu vzdialeného ovládania. Ak sa vzdialený užívateľ pripojí k serveru OpenSSH pomocou scp, démon servera OpenSSH po overení iniciuje bezpečnú kópiu súborov medzi serverom a klientom. OpenSSH môže používať mnoho metód autentifikácie vrátane obyčajného hesla, verejného kľúča a lístkov Kerberos.

Inštalácia

Inštalácia klientských a serverových aplikácií OpenSSH je jednoduchá. Ak chcete nainštalovať klientske aplikácie OpenSSH do vášho systému Ubuntu, použite tento príkaz na príkazovom riadku:

sudo apt nainštalovať openssh-client

Ak chcete nainštalovať aplikáciu servera OpenSSH a súvisiace podporné súbory, použite tento príkaz na príkazovom riadku:

sudo apt nainštalovať openssh-server

Balík openssh-server je možné zvoliť aj na inštaláciu počas procesu inštalácie Server Edition.

Konfigurácia

Predvolené správanie serverovej aplikácie OpenSSH, sshd, môžete nakonfigurovať úpravou súboru / etc / ssh / sshd_config. Informácie o smerniciach o konfigurácii použitých v tomto súbore si môžete pozrieť príslušnú manuálnu stránku s nasledujúcim príkazom vydaným na príkazovom riadku:

man sshd_config

V konfiguračnom súbore sshd existuje veľa smerníc, ktoré riadia napríklad nastavenia komunikácie a režimy autentifikácie. Nasledujú príklady smerníc konfigurácie, ktoré je možné zmeniť úpravou súboru / etc / ssh / sshd_config.

Pred úpravou konfiguračného súboru by ste si mali vytvoriť kópiu pôvodného súboru a chrániť ho pred zápisom, aby ste mali pôvodné nastavenia ako referenciu a v prípade potreby ich mohli znova použiť.

Skopírujte súbor / etc / ssh / sshd_config a chráňte ho pred zápisom pomocou nasledujúcich príkazov vydaných na príkazovom riadku:

sudo cp / etc / ssh / sshd_config /etc/ssh/sshd_config.original sudo chmod a-w /etc/ssh/sshd_config.original

Nasledujú príklady smerníc o konfigurácii, ktoré môžete zmeniť:

    Ak chcete nastaviť svoj OpenSSH tak, aby namiesto predvoleného portu TCP 2222 počúval na porte TCP 2222, zmeňte direktívu Port ako takú:

    Ak chcete, aby sshd umožňoval prihlasovacie poverenia založené na verejných kľúčoch, jednoducho pridajte alebo upravte riadok:

    PubkeyAuthentication áno

    Ak je riadok už k dispozícii, zaistite, aby nebol komentovaný.

    Ak chcete, aby váš server OpenSSH zobrazoval obsah súboru /etc/issue.net ako banner pred prihlásením, jednoducho pridajte alebo upravte riadok:

    Banner /etc/issue.net

    V súbore / etc / ssh / sshd_config.

Po vykonaní zmien v súbore / etc / ssh / sshd_config súbor uložte a reštartujte aplikáciu servera sshd, aby sa zmeny vykonali pomocou nasledujúceho príkazu v príkazovom riadku:

sudo systemctl restart sshd.service

K dispozícii je mnoho ďalších konfiguračných smerníc pre sshd, pomocou ktorých môžete zmeniť správanie serverovej aplikácie tak, aby vyhovovalo vašim potrebám. Upozorňujeme však, že ak je váš jediný spôsob prístupu na server sshd, a urobíte chybu v konfigurácii sshd cez / etc / ssh / sshd_config, môžete zistiť, že ste po opätovnom spustení servera uzamknutí. Ak je navyše zadaná nesprávna konfiguračná smernica, server sshd môže odmietnuť spustenie, buďte preto pri úpravách tohto súboru na vzdialenom serveri mimoriadne opatrní ...