Pokud jde o vzdálené počítače, SSH je jedním z nejpopulárnějších a nejbezpečnějších protokolů. SSH je kryptografický síťový protokol, který navazuje zabezpečené připojení se vzdálenými zařízeními. Po připojení ke vzdálenému zařízení může uživatel spouštet příkazy ve vzdáleném shellu. SSH je nejrozšířenější mezi síťovými a systémovými administrátory.
Tato příručka ve stylu taháku ukazuje přehled SSH, některé běžné způsoby připojení pomocí SSH a různé konfigurace SSH.
Přehled SSH
SSH je zkratka pro Secure Shell. Někteří také označují SSH jako Secure Socket Shell. SSH je nejběžnější způsob přístupu ke vzdálenému serveru. Při připojování ke vzdálenému systému pomocí SSH se připojujete k existujícímu účtu. Po připojení budete mít přístup k relaci shellu. Všechny spuštěné příkazy budou provedeny na vzdáleném stroji a výstup se vytiskne na vašem lokálním terminálu.
Připojení SSH se řídí modelem klient-server. Na vzdáleném systému musí běžet démon SSH, aby mohl přijímat vzdálená připojení SSH. Démon SSH naslouchá na specifických portech, ověřuje požadavky na připojení a po splnění podmínek generuje příslušné prostředí.
Pro účely této příručky jsme nakonfigurovali dva servery Ubuntu. Primární server bude nakonfigurován pro připojení k sekundárnímu serveru. Sekundární server bude nakonfigurován tak, aby přijímal připojení SSH z primárního serveru. Tyto IP adresy serverů budou používány v průběhu celé příručky:
-
Primární: 31.171.250.121
-
Sekundární: 31.171.250.130
Pro začátek se můžete podívat na naše podrobné návody na jak používat SSH k připojení ke vzdálenému serveru v Ubuntu a jak nakonfigurovat server Linux pro použití ověřování založeného na klíčích SSH. Nyní začněme!
Ověřování SSH
Existují dva hlavní typy ověřování SSH. Tradiční metodou je použití hesla. Je méně bezpečná a důrazně se nedoporučuje. Druhou metodou jsou klíče SSH. Klíče SSH nabízejí velmi silné zabezpečení a jsou důrazně doporučovány.
Zatímco ověřování heslem je jednodušší na pochopení a konfiguraci, lze jej snadno zneužít. Například automatizovaní boti mohou k průniku do systému použít hrubou sílu. Klíče SSH jsou kryptografické klíče. Každý klíč má dvě části – soukromý klíč a veřejný klíč. Veřejný klíč lze bez obav sdílet kdekoli. Soukromý klíč však musí zůstat chráněn.
Chcete-li použít klíče SSH jako metodu ověřování, musí mít vzdálený systém nainstalovanou kopii veřejného klíče. Kopie soukromého a veřejného klíče by měly být nainstalovány také na lokálním systému. Ve výchozím nastavení jsou veřejné klíče uvedeny v následujícím souboru. Každý jedinečný uživatel má jedinečnou kopii tohoto souboru:
|
1 |
~/.ssh/authorized_keys |
Zde je návod, jak proces ověřování funguje:
-
Klientský systém odešle požadavek na připojení ke vzdálenému systému. Odešle také informaci o tom, který klíč SSH má použít.
-
Vzdálený systém zkontroluje, zda je veřejný klíč uveden v souboru authorized_keys.
-
Pokud klíč existuje, vygeneruje se náhodný řetězec a zašifruje se pomocí veřejného klíče. Zašifrovanou zprávu lze dešifrovat pouze pomocí soukromého klíče.
-
Po přijetí řetězce jej klient dešifruje.
-
Kombinací řetězce a dříve vyjednaného ID relace se vygeneruje hash MD5. Klient odešle hash MD5 vzdálenému systému.
-
Vzdálený systém zná náhodný řetězec i ID relace. Pokud se hash MD5 shoduje, připojení je povoleno.
Klíče SSH
V této příručce bude klíč SSH hlavním středem zájmu ověřování. Tato část se proto zaměří na to, jak s klíči SSH pracovat.
-
Generování páru klíčů SSH
Ve výchozím nastavení nemá systém Linux nainstalovaný žádný klíč SSH. Systém však může obsahovat dříve vygenerované/nainstalované klíče SSH. Za předpokladu, že neexistuje žádný předchozí klíč SSH, musíme vygenerovat nový pár veřejného a soukromého klíče SSH. SSH podporuje mnoho kryptografických algoritmů pro generování klíčů SSH, například RSA, DSA, ECDSA a EdDSA. RSA je výchozí a preferovaný algoritmus.
-
Generování běžného páru klíčů RSA
Chcete-li vygenerovat pár klíčů SSH, spusťte následující příkaz:
|
1 |
ssh-keygen |
Výzva se vás zeptá, kam chcete pár klíčů uložit. Jak již bylo zmíněno, půjde o pár klíčů RSA. Pokud nezadáte žádnou hodnotu, SSH jej uloží do výchozího umístění /home/demo/.ssh/id_rsa.
Dalším krokem je zadání přístupové fráze. Doporučuje se přístupovou frázi použít. Délka přístupové fráze je libovolná. Přidává další vrstvu zabezpečení. SSH však umožňuje generovat klíče i bez přístupové fráze. Pokud chcete klíče bez přístupové fráze, stačí stisknout Enter.
Konečný výstup poskytuje následující klíčové informace:
-
Umístění soukromého klíče ( /root/.ssh/id_rsa). Nikdy by neměl být sdílen.
-
Umístění veřejného klíče ( /root/.ssh/id_rsa.pub). Je bezpečné jej sdílet s kýmkoli.
-
Otisk klíče.
-
Náhodný obrázek klíče. Myšlenka je taková, že pokud dojde ke kompromitaci klíčů, pravděpodobně to poznáte podle jakékoli změny v tomto obrázku.
-
Generování páru klíčů RSA s různým počtem bitů
Ve výchozím nastavení mají klíče SSH velikost 2048 bitů. Z hlediska bezpečnosti je to považováno za dostatečné. Můžeme však ručně určit použití jiného počtu bitů. Čím vyšší je hodnota bitů, tím silnější klíč je.
Spuštěním následujícího příkazu vygenerujete pár klíčů SSH o velikosti 4096 bitů. Většina serverů podporuje 4096bitové klíče SSH. Pokud je klíč příliš velký, nemusí být přijat z důvodu ochrany proti DDoS:
|
1 |
ssh-keygen -b 4096 |
Protože jsme již pár klíčů vygenerovali, SSH se zeptá, zda má přepsat ten předchozí. Zbytek procesu je stejný jako při generování běžného páru klíčů.
-
Změna přístupové fráze soukromého klíče
Můžeme změnit přístupovou frázi soukromého klíče. Tento proces vyžaduje, abyste znali aktuální přístupovou frázi. Chcete-li přístupovou frázi změnit, spusťte následující příkaz:
|
1 |
ssh-keygen -p |

Příkaz vás vyzve k zadání umístění soukromého klíče. Pokud je klíč uložen ve výchozím umístění, stiskněte Enter. Zadejte aktuální přístupovou frázi. Pokud bude přijata, můžete nastavit novou.
-
Zobrazení otisku klíče SSH
Každý pár klíčů SSH sdílí kryptografický otisk. Tento otisk lze použít k identifikaci jedinečných klíčů. To může být užitečné v mnoha situacích. Spuštěním následujícího příkazu zkontrolujete otisk klíče SSH:
|
1 |
ssh-keygen -l |

Zadejte umístění klíče. Pokud je klíč uložen ve výchozím umístění, stiskněte Enter.
Kopírování veřejného klíče
Pár klíčů SSH je připraven k zabezpečení vzdálených připojení. Aby vzdálený systém přijal klíč SSH pro ověření, musí mít kopii veřejného klíče. Existuje několik způsobů, jak zkopírovat veřejný klíč na vzdálený server.
-
Použití ssh-copy-id
Nástroj ssh-copy-id je součástí balíčku OpenSSH. Je to výchozí způsob kopírování veřejného klíče SSH. Je jednoduchý a snadno se používá. Spuštěním následujícího příkazu přenesete kopii veřejného klíče:
|
1 |
ssh-copy-id <username>@<secondary_server_ip> |

K dokončení procesu potřebujete heslo ke vzdálenému uživatelskému účtu. V případě úspěchu se zobrazí zpráva o úspěchu.
-
Použití připojení SSH
Pokud použití nástroje ssh-copy-id není k dispozici, ale primární server se může připojit k sekundárnímu serveru pomocí SSH, pak můžeme ke zkopírování klíče použít jiný trik. Jde o přesměrování obsahu veřejného klíče přes příkaz SSH na vzdálenou stranu. Upozorňujeme, že pokud adresář ~/.ssh na vzdáleném systému neexistuje, nemusí to fungovat:
|
1 |
cat ~/.ssh/id_rsa.pub | ssh <username>@<secondary_server_ip> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" |
-
Ruční kopírování
Pokud vzdálené připojení není možné, zbývá pouze ručně přidat veřejný klíč na vzdálený server. Nejprve získejte obsah veřejného klíče:
|
1 |
cat ~/.ssh/id_rsa.pub |
Na vzdáleném serveru umístěte klíč do příslušného umístění:
|
1 2 3 |
mkdir -pv ~/.ssh echo <public_key> >> ~/.ssh/authorized_keys |
Použití SSH
Nyní, když je veřejný klíč nastaven, jsme připraveni použít SSH pro vzdálené připojení.
-
Připojení ke vzdálenému systému
Prvním krokem je naučit se, jak se připojit ke vzdálenému systému pomocí SSH. Předpokládá se, že jak lokální, tak vzdálený systém povolují SSH provoz. Chcete-li se připojit ke vzdálenému systému, zadejte následující:
|
1 |
ssh <secondary_server_ip> |

Chcete-li se místo toho připojit k určitému uživateli na vzdáleném serveru, použijte následující strukturu:
|
1 |
ssh <username>@<secondary_server_ip> |

Pokud se k serveru připojujete poprvé, SSH může zobrazit varování. Pro pokračování v připojení zadejte yes. Pokud je vzdálený účet chráněn heslem, budete muset heslo zadat. Pokud je klíč SSH chráněn přístupovou frází, musíte zadat také tuto přístupovou frázi.
-
Připojení k jinému portu
Ve výchozím nastavení běží SSH na portu 22. SSH klient bude při připojování ke vzdálenému systému předpokládat výchozí hodnotu portu. Pokud však vzdálený systém naslouchá pro SSH provoz na jiném portu, nebude to fungovat. V takové situaci musíme číslo portu deklarovat ručně. Chcete-li deklarovat konkrétní port, použijte -p příznak:
|
1 |
ssh -p <port> <username>@<secondary_server_ip> |
Ruční deklarování portu pokaždé je kontraproduktivní. Výchozí hodnotu portu můžeme změnit trvale. Chcete-li to provést, otevřete konfigurační soubor SSH. Pokud soubor neexistuje, následující příkaz jej vytvoří:
|
1 |
nano ~/.ssh/config |
Poté přidejte následující řádky:
|
1 2 3 4 5 |
Host <remote_alias> HostName <remote_hostname> Port <port_value> |
-
Spouštění příkazů na vzdáleném serveru
Nyní, když je spojení navázáno, jakýkoli příkaz, který spustíte v lokálním terminálu, bude odeslán na vzdálený server. Jakýkoli vygenerovaný výstup bude odeslán zpět do lokálního terminálu.
Pokud se jedná o jediný příkaz ke spuštění, můžeme jej spustit bez provedení úplného přihlášení přes SSH. Příkaz můžeme jednoduše deklarovat za instrukcí pro připojení SSH:
|
1 |
ssh <username>@<secondary_server_ip> <command_to_run> |
-
Přidání klíče do SSH agenta
Pokud má klíč SSH přístupovou frázi, budete ji muset zadat při každém připojení ke vzdálenému systému. Dělat to opakovaně je kontraproduktivní. Můžeme to nechat na SSH agentovi. Je to malý nástroj, který uloží soukromý klíč poté, co zadáte přístupovou frázi. Soukromý klíč bude k dispozici během relace terminálu. Chcete-li spustit SSH agenta, spusťte následující příkaz:
|
1 |
eval $(ssh-agent) |

Program běží na pozadí. Vše, co musíte udělat, je přidat svůj soukromý klíč do agenta. Spusťte následující příkaz:
|
1 |
ssh-add |

Pro dokončení operace zadejte přístupovou frázi.
-
Předávání přihlašovacích údajů SSH
Můžeme také nakonfigurovat SSH pro připojení z jednoho serveru na druhý bez hesla. To může být velmi efektivní, zejména při práci s mnoha vzdálenými servery. Abychom toho dosáhli, musíme předávat přihlašovací údaje SSH. Předávání přihlašovacích údajů SSH vyžaduje, aby byl vzdálený server nakonfigurován tak, aby přijímal připojení z lokálního počítače/serveru. Poté se stačí připojit k prvnímu serveru pomocí -A příznaku. Ten předá vaše přihlašovací údaje serverům pro aktuální relaci:
|
1 |
ssh -A <username>@<secondary_server_ip> |
Konfigurace vzdáleného serveru
Tato část obsahuje některé běžné konfigurace na straně serveru, které vám pomohou zlepšit odezvu serveru a zabezpečení připojení.
-
Zakázání ověřování heslem
Pokud jsou SSH klíče nakonfigurovány a SSH připojení funguje podle očekávání, pak je bezpečné zakázat ověřování heslem. Následující konfigurace přestane vyžadovat heslo, když se jakýkoli uživatel připojí přes SSH. Na vzdáleném serveru otevřete sshd_config soubor s root/sudo oprávněním:
|
1 |
sudo nano /etc/ssh/sshd_config |
Dále vyhledejte položku PasswordAuthentication. Pokud je řádek zakomentovaný, odkomentujte jej. Změňte hodnotu na no:
|
1 |
PasswordAuthentication no |

Uložte soubor a zavřete editor. Aby se změny projevily, restartujte službu SSH:
|
1 |
sudo service ssh restart |
Pokud je systém CentOS/Fedora, použijte místo toho následující příkaz:
|
1 |
sudo service sshd restart |
-
Změna portu SSH
Jak již bylo zmíněno dříve, SSH používá k přenosu SSH provozu port 22. Podle některých správců systému je však lepší přiřadit pro SSH jiný port. Může to pomoci proti automatizovaným botům zahlcujícím port. Chcete-li změnit port, na kterém SSH naslouchá, otevřete sshd_config soubor:
|
1 |
sudo nano /etc/ssh/sshd_config |
Vyhledejte položku Port. Pokud je zakomentovaná, odkomentujte ji. Poté změňte hodnotu na jinou. Hodnota portu je 16bitové celé číslo bez znaménka (0-65535):
|
1 |
Port 1024 |

Uložte soubor a zavřete editor. Chcete-li změnu implementovat, restartujte démona SSH:
|
1 |
sudo service ssh restart |
V systému CentOS/Fedora spusťte místo toho následující příkaz:
|
1 |
sudo service sshd restart |
-
Omezení uživatelů
Můžeme nakonfigurovat, které uživatelské účty se mohou připojit pomocí SSH. To také zahrnuje úpravu sshd_config souboru. Otevřete soubor s oprávněním sudo/root:
|
1 |
sudo nano /etc/ssh/sshd_config |
Vyhledejte položku AllowUsers. Přidejte povolené uživatele:
|
1 |
AllowUsers <user_1> <user_2> |

Uložte soubor a zavřete editor. Restartujte démona SSH, aby se změny projevily:
|
1 |
sudo service ssh restart |
V systému CentOS/Fedora spusťte místo toho následující příkaz:
|
1 |
sudo service sshd restart |
-
Omezení skupin
Podobně jako u omezení uživatelů můžeme také určit, která skupina uživatelů se může k systému připojit pomocí SSH. Otevřete sshd_config soubor:
|
1 |
sudo nano /etc/ssh/sshd_config |
Pomocí položky AllowGroups přidejte konkrétní skupinu uživatelů, která může používat SSH:
|
1 |
AllowGroups <user_group> |

Uložte soubor a zavřete editor. Restartujte démona SSH, aby se změny projevily:
|
1 |
sudo service ssh restart |
V systému CentOS/Fedora spusťte místo toho následující příkaz:
|
1 |
sudo service sshd restart |
Upozorňujeme, že pokud je ze skupiny uživatelů přidán nebo odebrán jakýkoli uživatel, je nutné restartovat démona SSH. V opačném případě se změny skupiny neprojeví.
-
Zakázání přihlášení uživatele root
Pokud máte přístup k uživateli s oprávněním sudo, doporučuje se zakázat přihlášení uživatele root přes SSH. Otevřete sshd_config soubor:
|
1 |
sudo nano /etc/ssh/sshd_config |
Změňte hodnotu položky PermitRootLogin na no:
|
1 |
PermitRootLogin no |

Uložte soubor a zavřete editor. Restartujte démona SSH, aby se změna projevila:
|
1 |
sudo service ssh restart |
V systému CentOS/Fedora spusťte místo toho následující příkaz:
|
1 |
sudo service sshd restart |
-
Přesměrování zobrazení aplikací X
Démon SSH může také přesměrovat zobrazení aplikací X ze serveru na klienta. Aby to však fungovalo, musí mít vzdálený systém nakonfigurovaný systém X Window. Funkce musí být také povolena v konfiguraci SSH. Otevřete konfigurační soubor SSH:
|
1 |
sudo nano /etc/ssh/sshd_config |
Změňte hodnotu direktivy X11Forwarding na yes:
|
1 |
X11Forwarding yes |

Uložte soubor a zavřete editor. Restartujte SSH démona, aby se změny projevily:
|
1 |
sudo service ssh restart |
Na CentOS/Fedora místo toho spusťte následující příkaz:
|
1 |
sudo service sshd restart |
Konfigurace klienta
V této sekci se podíváme na některé běžné konfigurace SSH klienta.
-
Informace o připojení specifické pro server
Na lokálním systému můžeme definovat specifika vzdáleného připojení. Všechny informace jsou uloženy v konfiguračním souboru umístěném v ~/.ssh/config:
|
1 |
nano ~/.ssh/config |
Každý blok vzdáleného systému je označen klíčovým slovem Host následovaným aliasem. Zde se uvádějí všechny direktivy specifické pro daný systém. Při připojování ke vzdálenému systému je SSH použije automaticky. Podrobné vysvětlení konfigurace naleznete v manuálové stránce:
|
1 |
man ssh_config |

Záznam pro vzdálené připojení bude mít následující strukturu:
|
1 2 3 |
Host <remote_hostname> <directive> <value> |
-
Časový limit připojení
Může se stát, že budete odpojeni od SSH relace dříve, než stihnete provést jakoukoli akci. Pokud klient neposílá vzdálenému serveru žádné pakety, připojení po určité době vyprší. Abyste tomu předešli, můžete lokálního klienta nakonfigurovat tak, aby jednou za čas poslal paket a udržel tak připojení aktivní.
Otevřete lokální konfigurační soubor:
|
1 |
nano ~/.ssh/config |
Pod záznam vzdáleného připojení přidejte direktivu ServerAliveInterval následovanou intervalem paketů v sekundách:
|
1 |
ServerAliveInterval 120 |

Uložte soubor a zavřete editor.
-
Zakázání kontroly hostitele
Ve výchozím nastavení nahlásí SSH klient při každém pokusu o připojení k novému serveru otisk klíče (fingerprint) vzdáleného SSH démona. Je to užitečná funkce pro ověření autenticity hostitele. Pokud se útočník pokusí podvrhnout vzdáleného hostitele, zobrazí se jako nový server.
Zakázání této funkce může představovat obrovské bezpečnostní riziko. Obecně se doporučuje ponechat tuto možnost zapnutou. V určitých situacích však může být zakázání kontroly hostitele pohodlné. Otevřete konfigurační soubor:
|
1 |
nano ~/.ssh/config |
Do sekce vzdáleného hostitele přidejte následující direktivy:

|
1 2 3 |
StrictHostKeyChecking no UserKnownHostsFile /dev/null |
První direktiva zakáže automatické přidávání nových hostitelů do seznamu známých hostitelů uloženého v souboru known_hosts. Druhá direktiva slouží k tomu, aby nevarovala před případnými změnami. Uložte soubor a zavřete editor.
-
Multiplexování SSH přes jedno TCP připojení
Navázání TCP připojení může někdy trvat poměrně dlouho. Pokud je nutné vytvořit více připojení ke stejnému stroji, pak je multiplexování skvělou funkcí, kterou můžete využít. Multiplexování SSH umožňuje používat stejné TCP připojení pro více SSH relací. Snižuje tak režii potřebnou k navazování nových relací. Pomoci může také omezení počtu připojení.
Můžeme multiplexní připojení nastavit ručně, nebo nechat SSH, aby ho použilo, kdykoli je k dispozici. Zde nakonfigurujeme SSH pro druhou možnost. Otevřete konfigurační soubor SSH:
|
1 |
nano ~/.ssh/config |
Na začátek souboru přidejte definici hostitele se zástupným znakem (wildcard). Tím zajistíte, že se další sada direktiv použije pro všechna vzdálená připojení. Přidejte následující direktivy:
|
1 2 3 4 5 |
ControlMaster auto ControlPath ~/.ssh/multiplex/%r@%h:%p ControlPersist 1 |

První direktiva říká SSH, aby automaticky použilo multiplexování, kdykoli je k dispozici. Druhá direktiva určuje cestu k řídicímu soketu (control socket). Tento soket bude vytvořen při navázání první relace. Následné relace budou tento soket využívat.
Poslední direktiva říká SSH, aby nechal výchozí master spojení běžet na pozadí. Také to znamená, že TCP spojení se automaticky ukončí jednu sekundu po poslední SSH relaci. Dále vytvořte adresář, který jsme deklarovali v konfiguračním souboru:
|
1 |
mkdir -pv ~/.ssh/multiplex |
Nakonec by měl být multiplexing aktivní.
Únikové kódy SSH
Po navázání spojení existují způsoby, jak chování spojení ovládat pomocí únikových kódů.
-
Vynucení odpojení
Zasekli jste se v SSH relaci? SSH relace jsou obecně spravovány serverem. Pokud má server problémy, může být zaseknutí v mrtvé SSH relaci frustrující. Naštěstí OpenSSH nabízí užitečné ovládací prvky pro správu stavu spojení ze strany klienta.
Stiskněte několikrát Enter. Poté zadejte následující příkaz:
|
1 |
~. |
![]()
Zde, ~ je řídicí znak. Po spuštění tohoto příkazu z klienta by se mělo spojení okamžitě ukončit.
-
SSH relace na pozadí
SSH relaci můžeme také převést na pozadí. Po převedení na pozadí se vrátíte do běžné relace shellu. Jakmile dokončíte svou práci, můžete se k SSH shellu opět vrátit. Upozorňujeme, že musíte mít správně nakonfigurovaný časový limit (timeout), abyste zabránili vypršení časového limitu, zatímco SSH relace zůstává na pozadí. Chcete-li převést SSH relaci na pozadí, zadejte řídicí znak následovaný Ctrl + Z:
|
1 |
~<Ctrl + Z> |

Pokud to byla vaše nejnovější úloha na pozadí, můžete ji znovu aktivovat pomocí následujícího příkazu:
|
1 |
fg |
Pokud existuje více úloh na pozadí, můžeme je zjistit ze seznamu úloh:
|
1 |
jobs |

Chcete-li převést cílovou úlohu do popředí, poznamenejte si hodnotu úlohy z prvního sloupce. Poté spusťte následující příkaz:
|
1 |
fg %<job_value> |
-
Změna konfigurace přesměrování portů
Pomocí řídicího mechanismu můžeme měnit pravidla přesměrování portů za běhu. Jakmile je spojení navázáno, můžeme pravidla přesměrování portů vytvářet nebo rušit. Je to součást rozhraní příkazového řádku SSH.
Pro přístup k rozhraní příkazového řádku SSH spusťte příkaz:
|
1 |
~C |
![]()
Chcete-li zobrazit seznam dostupných možností, zadejte následující příkaz:
|
1 |
-h |
Pokud je výstup příliš stručný, zkuste zvýšit úroveň podrobnosti (verbosity) pomocí následujícího řídicího příkazu:
|
1 |
~v |
Nyní znovu spusťte příkaz -h:
|
1 |
-h |

Jak vysvětluje výstup, je docela jednoduché implementovat jakékoli přesměrování portů pomocí jednoduchého příkazu. Například tunel lze také zrušit pomocí příkazu kill, což je v seznamu příkazů označeno jako K v seznamu příkazů.
Závěrečné myšlenky
S SSH se setkáte poměrně běžně. Proto je velmi užitečné se s ním naučit pracovat. Náš komplexní přehled SSH pokrývá nejdůležitější konfigurace SSH, které uživatelé potřebují znát pro každodenní používání SSH. Jakmile je zvládnete, měli byste být schopni pracovat s téměř všemi konfiguracemi SSH serverů.
Příjemnou práci s počítačem!
Komentáře
Zatím žádné komentáře. Buďte první.