Praktické tipy, příklady a SSH tunely

Praktické tipy, příklady a SSH tunely
Praktické příklady SSH, které posunou vaše dovednosti vzdáleného správce systému na novou úroveň. Příkazy a tipy pomohou nejen používat SSH, ale také lépe se orientovat v síti.

Poznání několika triků ssh se hodí každému správci systému, síťovému inženýrovi nebo specialistovi na bezpečnost.

Praktické příklady SSH

  1. SSH socks-proxy
  2. SSH tunel (přesměrování portů)
  3. SSH tunel na třetí hostitel
  4. Zpětný SSH tunel
  5. Zpětný proxy SSH
  6. Nastavení VPN přes SSH
  7. Kopírování SSH klíče (ssh-copy-id)
  8. Vzdálené vykonávání příkazů (neinteraktivně)
  9. Vzdálené zachytávání paketů a prohlížení v Wiresharku
  10. Kopírování místní složky na vzdálený server přes SSH
  11. Vzdálené GUI aplikace s přesměrováním SSH X11
  12. Vzdálené kopírování souborů s pomocí rsync a SSH
  13. SSH přes síť Tor
  14. SSH k instanci EC2
  15. Úprava textových souborů pomocí VIM přes ssh/scp
  16. Mountování vzdáleného SSH jako místní složky s SSHFS
  17. Multiplexování SSH pomocí ControlPath
  18. Streamování videa přes SSH pomocí VLC a SFTP
  19. Dvoufaktorová autentifikace
  20. Skoky mezi hostiteli s SSH a -J
  21. Blokování pokusů o brutální útoky SSH pomocí iptables
  22. SSH Escape pro změnu přesměrování portů

Nejprve základy

Analýza příkazového řádku SSH

V následujícím příkladu se používají běžné parametry, které se často vyskytují při připojování k vzdálenému serveru SSH.

localhost:~$ ssh -v -p 22 -C neo@remoteserver

  • -v: výstup ladicích informací je obzvlášť užitečný při analýze problémů s ověřením. Lze ho použít vícekrát k zobrazení dalších informací.
  • - p 22: port pro připojení k vzdálenému serveru SSH. 22 nemusíte uvádět, protože je to výchozí hodnota, ale pokud je protokol na jiném portu, musíte uvést pomocí parametru -p. Port naslouchání je uveden v souboru sshd_config ve formátu Port 2222.
  • -C: komprese pro spojení. Pokud máte pomalý kanál nebo prohlížíte hodně textu, může to urychlit komunikaci.
  • neo@: řetězec před symbolem @ označuje uživatelské jméno pro ověřování na vzdáleném serveru. Pokud není uvedeno, použije se výchozí uživatelské jméno účtu, do kterého jste se právě přihlásili (~$ whoami). Uživatel může být také uveden parametrem -l.
  • remoteserver: název hostitele, ke kterému se připojujete ssh, může to být plné doménové jméno, IP adresa nebo jakýkoli hostitel v místním souboru hosts. Pro připojení k hostiteli, který podporuje jak IPv4, tak IPv6, můžete přidat do příkazového řádku parametr -4 nebo -6 pro správné rozlišení.

Všechny výše uvedené parametry jsou volitelné, s výjimkou remoteserver.

Použití konfiguračního souboru

I když je mnoho lidí obeznámeno se souborem sshd_config, existuje také konfigurační soubor klienta pro příkaz ssh. Výchozí hodnota ~/.ssh/config, ale lze ho určit jako parametr pro možnost -F.

Host *
     Port 2222

Host remoteserver
     HostName remoteserver.thematrix.io
     User neo
     Port 2112
     IdentityFile /home/test/.ssh/remoteserver.private_key

V uvedeném příkladu konfiguračního souboru ssh jsou dvě záznamy o hostiteli. První označuje všechny hostitele, pro které platí konfigurační parametr Port 2222. Druhý říká, že pro hostitele remoteserver by se mělo použít jiné uživatelské jméno, port, FQDN a IdentityFile.

Konfigurační soubor může ušetřit spoustu času při zadávání znaků, což umožňuje automaticky uplatňovat pokročilou konfiguraci při připojení k konkrétním hostitelům.

Kopírování souborů přes SSH pomocí SCP

SSH klient přichází se dvěma dalšími velmi užitečnými nástroji pro kopírování souborů přes šifrované ssh spojení.Níže je uveden příklad standardního použití příkazů scp a sftp. Všimněte si, že mnoho parametrů pro ssh se uplatňuje i v těchto příkazech.

localhost:~$ scp mypic.png neo@remoteserver:/media/data/mypic_2.png

V tomto příkladu byl soubor mypic.png zkopírován na remoteserver do složky /media/data a přejmenován na mypic_2.png.

Nezapomeňte na rozdíl v parametru portu. Na tom se nachytají mnozí, kteří spouštějí scp z příkazového řádku. Zde je parametr portu -P, a ne -p, jako v ssh klientovi! Můžete zapomenout, ale nebojte se, všichni zapomínají.

Pro ty, kteří jsou obeznámeni s konzolovým ftp, mnoho z příkazů je podobných v sftp. Můžete udělat push, put a ls, jak srdce chce.

sftp neo@remoteserver

Praktické příklady

V mnoha z těchto příkladů lze dosáhnout výsledku různými metodami. Stejně jako ve všech našich výukových materiálech a příkladech se dává přednost praktickým příkladům, které prostě vykonávají svůj úkol.

1. SSH socks-proxy

Funkce SSH Proxy číslo 1 je zbožná. Je mnohem mocnější, než mnozí předpokládají, a dává vám přístup k jakémukoli systému, ke kterému má přístup vzdálený server, a to pomocí téměř jakékoli aplikace. Klient ssh může tunelovat provoz přes SOCKS proxy jediným jednoduchým příkazem. Je důležité pochopit, že provoz k vzdáleným systémům bude pocházet z vzdáleného serveru, jak bude uvedeno v logech webového serveru.

localhost:~$ ssh -D 8888 user@remoteserver

localhost:~$ netstat -pan | grep 8888
tcp        0      0 127.0.0.1:8888       0.0.0.0:*               LISTEN      23880/ssh

Zde spouštíme socks proxy na TCP portu 8888, druhý příkaz ověřuje, že port je aktivní v režimu naslouchání. 127.0.0.1 označuje, že služba běží pouze na localhostu. Můžeme použít mírně jiný příkaz pro naslouchání na všech rozhraních, včetně ethernetu nebo wifi, což umožní jiným aplikacím (prohlížečům atd.) v naší síti se připojit k proxy službě přes ssh socks proxy.

localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver

Nyní můžeme nastavit prohlížeč pro připojení k socks proxy. V prohlížeči Firefox vyberte Nastavení | Obecné | Parametry sítě. Uveďte IP adresu a port pro připojení.

Praktické tipy, příklady a SSH tunely

Všimněte si možnosti na spodní části formuláře, abyste také zajistili, že DNS dotazy prohlížeče půjdou přes SOCKS proxy. Pokud používáte proxy server pro šifrování webového provozu v lokální síti, určitě chcete tuto možnost zvolit, aby se DNS dotazy tunelovaly přes SSH spojení.

Aktivace socks proxy v Chromu

Spuštění Chromu se specifickými parametry příkazového řádku aktivuje socks proxy a také tunelování DNS dotazů z prohlížeče. Důvěřuj, ale prověřuj. Použijte tcpdump k ověření, že DNS dotazy již nejsou viditelné.

localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"

Používání jiných aplikací s proxy

Mějte na paměti, že mnohé další aplikace také mohou používat socks proxy. Webový prohlížeč je jen ten nejpopulárnější. Některé aplikace mají konfigurační možnosti pro aktivaci proxy serveru. Jiným je třeba trochu pomoci pomocí pomocného programu. Například proxychains umožňuje spustit Microsoft RDP skrze socks proxy a další.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Konfigurační možnosti socks proxy jsou nastaveny v konfiguračním souboru proxychains.

Tip: pokud používáte vzdálenou plochu z Linuxu na Windows? Zkuste klienta FreeRDPJedná se o modernější implementaci než rdesktop, s mnohem plynulejší interakcí.

Příklad použití SSH přes socks proxy

Sedíte v kavárně nebo hotelu – a musíte používat docela nespolehlivé WiFi. Na notebooku lokálně spouštíme ssh proxy a vytváříme ssh tunel do domácí sítě na lokální Raspberry Pi. Pomocí prohlížeče nebo jiných aplikací nastavených pro socks proxy můžeme přistupovat k jakýmkoli síťovým službám v naší domácí síti nebo vyjít na internet přes domácí připojení. Všechno mezi vaším notebookem a domácím serverem (přes Wi-Fi a internet do domu) je šifrováno v SSH tunelu.

2. SSH tunel (přesměrování portů)

V nejjednodušší formě SSH tunel prostě otevře port ve vaší lokální soustavě, který se připojuje k jinému portu na druhém konci tunelu.

localhost:~$ ssh -L 9999:127.0.0.1:80 user@remoteserver

Podívejme se na parametr -L. Můžeme ho představit jako místní stránku naslouchání. Takže v uvedeném příkladu port 9999 naslouchá na straně localhost a přesměrovává přes port 80 na remoteserver. Všimněte si, že 127.0.0.1 se vztahuje na localhost na vzdáleném serveru!

Pojďme na další úroveň. V dalším příkladu jsou porty naslouchání spojeny s jinými uzly v lokální síti.

localhost:~$ ssh -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver

V těchto příkladech se připojujeme k portu na webovém serveru, ale může to být proxy server nebo jakákoliv jiná služba TCP.

3. SSH tunel na externí hostitele

Můžeme použít stejné parametry pro připojení tunelu ze vzdáleného serveru k jiné službě spuštěné na třetí soustavě.

localhost:~$ ssh -L 0.0.0.0:9999:10.10.10.10:80 user@remoteserver

V tomto příkladu přesměrováváme tunel z remoteserveru na webový server běžící na 10.10.10.10. Provoz z remoteserveru k 10.10.10.10 už není v SSH tunelu. Webový server na 10.10.10.10 bude považovat remoteserver za zdroj webových požadavků.

4. Reverzní SSH tunel

Zde nastavíme naslouchající port na vzdáleném serveru, který se bude připojovat zpět k místnímu portu na našem localhostu (nebo jiném systému).

localhost:~$ ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.1.100 user@remoteserver

V této SSH relaci se vytváří spojení z portu 1999 na remoteserveru k portu 902 na našem místním klientu.

5. Reverzní proxy SSH

V tomto případě nastavujeme socks proxy na našem ssh spojení, avšak proxy naslouchá na vzdáleném konci serveru. Připojení k této vzdálené proxy nyní v tunelu vystupuje jako provoz z našeho localhostu.

localhost:~$ ssh -v -R 0.0.0.0:1999 192.168.1.100 user@remoteserver

Odstraňování problémů s vzdálenými SSH tunely

Pokud máte problémy s fungováním vzdálených opcí SSH, zkontrolujte pomocí netstat, k jakým dalším rozhraním je připojen port pro naslouchání. Ačkoliv jsme v příkladech uvedli 0.0.0.0, pokud je hodnota GatewayPorts v sshd_config nastavena na hodnotu ne, pak bude naslouchací port vázán pouze na localhost (127.0.0.1).

Bezpečnostní upozornění

Všimněte si, že při otevírání tunelů a socks proxies mohou být interní síťové zdroje dostupné nedůvěryhodným sítím (například internetu!). To může představovat vážné bezpečnostní riziko, takže se ujistěte, že chápete, co je naslouchací stroj a k čemu má přístup.

6. Instalace VPN přes SSH

Obecným termínem mezi odborníky na metody útoků (penetrace testery a dalšími) je "pivot point" v síti. Po navázání spojení v jednom systému se tento systém stává bránou pro další přístup k síti. Pivot point umožňuje rozšiřování.

Pro takový pivot point můžeme použít SSH proxy a proxychains, přičemž existují určitá omezení. Například nebude možné pracovat přímo se sokety, takže nebudeme schopni skenovat porty uvnitř sítě přes Nmap SYN.

Použitím této pokročilejší varianty VPN se spojení snižuje na úroveň 3. Poté můžeme jednoduše nasměrovat provoz přes tunel pomocí standardního síťového směrování.

Metoda využívá ssh, iptables, tun interfaces a směrování.

Nejprve musíme nastavit tyto parametry v sshd_config. Protože měníme rozhraní v systému na obou stranách, potřebujeme root oprávnění na obou stranách.

PermitRootLogin yes
PermitTunnel yes

Poté nastavíme ssh spojení pomocí parametru, který vyžaduje inicializaci tun zařízení.

localhost:~# ssh -v -w any root@remoteserver

Nyní bychom měli mít tun zařízení při zobrazení rozhraní (# ip a). Dalším krokem je přidání IP adres k tunelovým rozhraním.

Strana klienta SSH:

localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up

Strana serveru SSH:

remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up

Nyní máme přímou trasu k jinému hostiteli (route -n a ping 10.10.10.10).

Můžete směrovat libovolnou podsíť přes hostitele na druhé straně.

localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0

Na vzdálené straně je nutné povolit ip_forward a iptables.

remoteserver:~# echo 1 > /proc/sys/net/ipv4/ip_forward
remoteserver:~# iptables -t nat -A POSTROUTING -s 10.10.10.2 -o enp7s0 -j MASQUERADE

Bum! VPN přes SSH tunel na síťové úrovni 3. To už je výhra.

Pokud se vyskytují nějaké problémy, použijte tcpdump a ping, abyste zjistili příčinu. Jelikož hrajeme na úrovni 3, naše pakety icmp projdou tímto tunelem.

7. Kopírování SSH klíče (ssh-copy-id)

Existuje několik způsobů, ale tento příkaz šetří čas tím, že nezapomínejte kopírovat soubory ručně. Jen zkopíruje ~/ .ssh / id_rsa.pub (nebo výchozí klíč) z vaší systému do ~/ .ssh / authorized_keys na vzdáleném serveru.

localhost:~$ ssh-copy-id user@remoteserver

8. Vzdálené provádění příkazů (neinteraktivně)

Příkaz ssh můžete spojit s jinými příkazy pro obvyklé pohodlné rozhraní. Stačí přidat příkaz, který chcete spustit na vzdáleném hostiteli, jako poslední parametr v uvozovkách.

localhost:~$ ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php

V tomto příkladu grep se provádí na lokálním systému poté, co se log stáhl přes ssh kanál. Pokud je soubor velký, je pohodlnější spustit grep na vzdálené straně, stačí uzavřít oba příkazy do dvojitých uvozovek.

Další příklad vykonává stejnou funkci jako ssh-copy-id z příkladu 7.

localhost:~$ cat ~/ .ssh / id_rsa.pub | ssh remoteserver 'cat >> .ssh / authorized_keys'

9. Vzdálené zachytávání paketů a sledování ve Wireshark

Vzali jsme jeden z našich příklady z tcpdump. Použijte ho k vzdálenému zachytávání paketů s výstupem přímo do GUI místního Wireshark.

:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -

10. Kopírování místní složky na vzdálený server přes SSH

Krásný trik, který zkomprimuje složku pomocí bzip2 (to je parametr -j v příkazu tar), a poté vytáhne tok bzip2 na druhé straně, čímž se na vzdáleném serveru vytváří duplikát složky.

localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"

11. Vzdálené GUI aplikace s přesměrováním SSH X11

Pokud jsou na klientovi a vzdáleném serveru nainstalovány "x", můžete vzdáleně spustit příkaz GUI, s oknem na vaší místní pracovní ploše. Tato funkce existuje už dlouho, ale je stále velmi užitečná. Spusťte vzdálený webový prohlížeč nebo dokonce konzolu VMWare Workstation, jak to dělám v tomto příkladu.

localhost:~$ ssh -X remoteserver vmware

Požadavek na řádek X11Forwarding ano v souboru sshd_config.

12. Vzdálené kopírování souborů pomocí rsync a SSH

rsync je mnohem pohodlnější scp, pokud je vyžadováno pravidelné zálohování adresáře, velkého počtu souborů nebo velmi velkých souborů. Zde existuje funkce obnovy po selhání přenosu a kopírování pouze změněných souborů, což šetří provoz a čas.

V tomto příkladu se používá komprese . Verze ICU jsou – bezvýznamné. (-z) a režim archivování (-a), který zahrnuje rekurzivní kopírování.

:~$ rsync -az /home/testuser/data remoteserver:backup/

13. SSH přes síť Tor

Anonymní síť Tor může tunelovat SSH provoz pomocí příkazu torsocks. Následující příkaz propojil ssh proxy přes Tor.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Torsocks bude používat pro proxy port 9050 na localhostu. Jak je vždy nutné při používání Tor, je třeba důkladně zkontrolovat, jaký provoz je tunelován a další problémy s provozní bezpečností (opsec). Kam směřují vaše DNS dotazy?

14. SSH k instanci EC2

Pro připojení k instanci EC2 je potřebný soukromý klíč. Stáhněte si ho (přípona .pem) z řídicího panelu Amazon EC2 a změňte oprávnění (chmod 400 my-ec2-ssh-key.pem). Uložte klíč na bezpečné místo nebo ho umístěte do své složky ~/.ssh/.

localhost:~$ ssh -i ~/.ssh/my-ec2-key.pem ubuntu@my-ec2-public

Parameter -i pouze určuje ssh klientovi, aby použil tento klíč. Soubor ~/.ssh/config je ideální pro automatické nastavení použití klíče při připojení k hostiteli ec2.

Host my-ec2-public
   Hostname ec2???.compute-1.amazonaws.com
   User ubuntu
   IdentityFile ~/.ssh/my-ec2-key.pem

15. Úprava textových souborů pomocí VIM přes ssh/scp

Pro všechny milovníky vim tato rada ušetří trochu času. Pomocí vim soubory se upravují pomocí scp jediným příkazem. Tato metoda jednoduše vytvoří soubor lokálně v /tmp, a poté ho zkopíruje zpět, jakmile ho uložíme z vim.

localhost:~$ vim scp://user@remoteserver//etc/hosts

Poznámka: formát se mírně liší od obvyklého scp. Po hostiteli máme dvojité //. To je odkaz na absolutní cestu. Jedna lomítko bude znamenat cestu relativně k domovské složce users.

**warning** (netrw) cannot determine method (format: protocol://[user@]hostname[:port]/[path])

Pokud uvidíte tuto chybu, zkontrolujte formát příkazu. Obvykle to znamená syntaktickou chybu.

16. Monitování vzdáleného SSH jako lokální složky pomocí SSHFS

Pomocí sshfs — klienta souborového systému ssh — můžeme připojit lokální adresář k vzdálené lokaci se všemi interakcemi souborů v šifrované relaci ssh.

localhost:~$ apt install sshfs

Na Ubuntu a Debian nainstalujeme balíček sshfs, a poté jednoduše přimountujeme vzdálené umístění k našemu systému.

localhost:~$ sshfs user@remoteserver:/media/data ~/data/

17. Multiplexování SSH pomocí ControlPath

Ve výchozím nastavení, pokud existuje stávající připojení k vzdálenému serveru pomocí ssh druhého připojení pomocí ssh nebo scp zřizuje novou relaci s další autentizací. Možnost ControlPath umožňuje využívat stávající relaci pro všechna následující připojení. To výrazně urychlí proces: efekt je patrný i v lokální síti, natož při připojení k vzdáleným zdrojům.

Host remoteserver
        HostName remoteserver.example.org
        ControlMaster auto
        ControlPath ~/.ssh/control/%r@%h:%p
        ControlPersist 10m

ControlPath specifikuje soket pro kontrolu novými připojeními na přítomnost aktivní relace ssh. Poslední možnost znamená, že i po odhlášení z konzole zůstane existující relace otevřená 10 minut, takže během této doby se můžete znovu připojit přes existující soket. Pro více informací viz příručku ssh_config man.

18. Streamování videa přes SSH s pomocí VLC a SFTP

I dlouholetí uživatelé ssh a vlc (Video Lan Client) ne vždy vědí o této užitečné možnosti, když je opravdu potřeba podívat se na video přes síť. V nastavení File | Open Network Stream programu vlc můžete zadat umístění jako sftp://. Pokud je vyžadováno heslo, objeví se výzva.

sftp://remoteserver//media/uploads/myvideo.mkv

19. Dvoufaktorová autentizace

Stejně jako dvoufaktorová autentizace vašeho bankovního účtu nebo účtu Google se používá i pro službu SSH.

Samozřejmě, ssh původně má funkci dvoufaktorové autentizace, pod kterou se rozumí heslo a klíč SSH. Výhodou hardwarového tokenu nebo aplikace Google Authenticator je to, že je to obvykle jiný fyzický zařízení.

Viz naše 8minutové průvodce pro používání Google Authenticator a SSH.

20. Skoky mezi hosty s ssh a -J

Pokud je kvůli segmentaci sítě nutné projít několika hosty ssh, abyste se dostali k cílové síti, zpozdí vás příkaz -J.

localhost:~$ ssh -J host1,host2,host3 user@host4.internal

Zde je důležité pochopit, že to není totožné s příkazem ssh host1, poté user@host1:~$ ssh host2 A tak dále. Parametr -J chytře využívá přesměrování, aby localhost navázal relaci s následujícím hostitelem v řetězci. Takže v uvedeném příkladu se náš localhost autentizuje na host4. Používáme tedy naše klíče localhost a relace od localhost k host4 je plně šifrovaná.

Pro tuto funkčnost v ssh_config zadejte konfigurační možnost ProxyJump. Pokud často přecházíte přes několik hostitelů, automatizace pomocí konfiguračního souboru ušetří spoustu času.

21. Blokování pokusů o bruteforce SSH pomocí iptables

Každý, kdo spravoval službu SSH a procházel logy, ví o množství pokusů o bruteforce, které se každý den opakují každou hodinu. Rychlý způsob, jak snížit hluk v logech, je přesunout SSH na nestandardní port. Proveďte změny v souboru sshd_config pomocí konfiguračního parametru Port##.

Pomocí iptables také je možné snadno blokovat pokusy o připojení k portu po dosažení určitého prahu. Jednoduchý způsob, jak to udělat, je použít OSSEC, který nejenže blokuje SSH, ale také provádí spoustu dalších opatření pro detekci narušení na základě názvu hostitele (HIDS).

22. SSH Escape pro změnu přesměrování portů

A náš poslední příklad ssh je zaměřen na změnu přesměrování portů za letu v rámci existující relace ssh. Představte si následující scénář. Jste hluboko v síti; možná jste přeskočili přes půl tuctu hostitelů a potřebujete místní port na pracovní stanici, který je přesměrován na Microsoft SMB starého systému Windows 2003 (pamatuje si někdo ms08-67?).

Stiskněte enter, zkuste zadat do konzole ~C. Toto je řídicí sekvence v relaci, která umožňuje provádět změny v existujícím připojení.

localhost:~$ ~C
ssh> -h
Příkazy:
      -L[bind_address:]port:host:hostport    Požádat o místní přesměrování
      -R[bind_address:]port:host:hostport    Požádat o vzdálené přesměrování
      -D[bind_address:]port                  Požádat o dynamické přesměrování
      -KL[bind_address:]port                 Zrušit místní přesměrování
      -KR[bind_address:]port                 Zrušit vzdálené přesměrování
      -KD[bind_address:]port                 Zrušit dynamické přesměrování
ssh> -L 1445:remote-win2k3:445
Přesměrování portu.

Zde můžete vidět, že jsme přesměrovali náš místní port 1445 na host Windows 2003, který jsme našli ve vnitřní síti. Nyní jednoduše spusťte msfconsole, a můžete jít dál (předpokládáme, že plánujete tento host použít).

Závěr

Tyto příklady, tipy a příkazy ssh měly by poskytnout výchozí bod; další informace o každém z týmů a funkcích jsou k dispozici na stránkách nápovědy (man ssh, man ssh_config, man sshd_config).

Vždy mě fascinovala možnost přistupovat k systémům a provádět příkazy odkudkoliv na světě. Rozvoj mých dovedností v používání nástrojů jako jsou ssh stanete se efektivnějším ve hrách, které hrajete.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster