Základy práce s SSH

21. července 2015

Pro práci s SSH nepotřebujete na Linuxu a Mac OSX žádný dodatečný software, můžete použít terminál systému. Ve Windows SSH klienta potřebujete a doporučuji program PuTTy. V (emulátoru) terminálu se na server připojíte příkazem ssh root@IPserveru. V PuTTy jen vyplníte IP adresu a přihlášení už probíhá vůči vzdálenému terminálu serveru. Heslo můžete i zkopírovat a kliknutím pravého tlačítka (nebo Ctrl+Shift+V) do terminálu vložit.

Připojení přes SSH

Předpokládejme, že máme čistý Linux systém, ke kterému máme plný Root přístup a pomocí něho se na serveru nastaví způsob a bezpečnost logování. Po přihlášení si uvědomte, že pracujte jako Root  – tedy správce systému a máte absolutní práva. Můžete tedy jedním příkazem smazat všechna data serveru. Provádějte pouze takové příkazy, jejichž význam znáte. Při prvním přihlášení doporučujeme změnit heslo; zadejte „passwd“ a zvolte nové silné heslo. Pojďme se podívat, co na serveru můžete dělat a na základní příkazy.

 

Základní terminálové příkazy

Přes terminál můžete ovládat kompletně celý server a výčet všech příkazů na tomto místě není možný. Můžete též doinstalovat další programy a funkčnost ještě rozšířit. Budeme se proto věnovat těm nejpoužívanějším příkazům.

ssh3-png

Správa software

  • Aktualizace repozitářů (vyhledání updatů v repozitářích): apt-get update
  • Aktualizace softwaru (nainstaluje nalezené updaty): apt-get upgrade
  • Instalace softwaru: apt-get install [název balíku]
  • Odinstalace: apt-get remove [název balíku], resp. purge [název balíku] Purge odstraní i konfigurační soubory, které se u Remove nemažou.

Správa souborů

  • Vytvoření složky: mkdir [název]
  • Vytvoření souboru: touch [název souboru]
  • Otevření souboru pro editaci (doporučuji editor Nano): nano [název souboru] Nano se ukončuje stiskem Ctrl+X a Y/N ((ne)potvrdí uložení změn).
  • Přesun do adresáře: cd [adresář]
  • Vypsání obsahu adresáře: ls -[parametr], například ls -ahl
    Parametr -a vypíše i skryté soubory, -h vypíše srozumitelně velikosti souborů, -l vypíše podrobnější informace.
  • Přesunutí/přejmenování souboru: mv [file1] [složka] nebo [file2], např. mv soubor1.txt složka, nebo mv soubor1.txt přejmenovanýsoubor.txt
  • Smazání souboru/složky: rm [název souboru, složky] -[parametr].
    U složek se ještě rozlišuje mazání prázdné (rmdir[jméno složky]), nebo (rekurzivní) mazání neprázdné složky [rm -R jméno složky].

file-png

Pro snadnější správu souborů můžete využít program mc – terminálový správce ve stylu Norton Commander.

Správa procesů

  • Task manager: top zobrazí vám běžící procesy a stav systémových prostředků.
  • Ukončení procesu: kill [číslo procesu] Kill funguje stejně, jako ukončení procesu ve Windows Task manageru. Číslo procesu uvidíte v programu top jako PID.
  • Běžící procesy (výpis omezen na stránku): ps -A | less
    • filtrování výsledků můžete použít příkazem grep: ps -A | grep hledanyprogram
    • Pokročilejší verze task manageru je program htop – můžete si ho doinstalovat příkazem apt-get install htop.

task-png

Přihlašování na SSH s klíčem

Mnoho útočníků či botnetů zkouší servery automaticky napadat přes port 22, který je vyhrazen SSH. Je dobré přihlášení zabezpečit RSA klíčem místo snadno prolomitelného hesla a vyhradit protokolu jiný port.

Změna SSH portu

Nastavení vlastního čísla portu proveďte v souboru nastavení SSH. Otevřete ho příkazem nano /etc/ssh/sshd_config a parametr Port nastavte na nohou hodnotu, například 25000 (můžete použít číslo mezi 1025 a 65536). Díky PermitRootLogin můžete zakázat přihlašování Roota; pak musíte využít účet nově vytvořeného uživatele. Pouze jemu konkrétně můžete povolit přihlášení nastavení parametru AllowUsers na hodnotu jeho uživatelského jména. Například AllowUsers franta.

Soubor s nastavením uložte a načtěte znovu konfiguraci příkazem: reload ssh.

Ještě předtím, než zavřete stávající připojení, otestujte nové nastavení v terminálu: ssh -p 25000 uzivatel@123.45.67.890. Zdali jste přihlášeni jako nový uživatel poznáte v terminálu. Uživatelské jméno je vlevo vedle hostname serveru: [franta@hostname ~]$.

Pokročilejšímu zabezpečení serveru se budeme věnovat v dalších návodech.

Přihlašování veřejným klíčem

Na vašem lokálním počítači si vygeneruje pár klíčů: local$ ssh-keygen

Následně uvidíte adresář, ve kterém je pár klíčů uložen, a budete vyzvání k pojmenování souboru s klíči. Bude ve skrytém adresáři /.ssh v domovské složce, nebo přímo v domovské složce uživatele. Můžete si též na ochranu privátního klíče nastavit passphrase, což je heslo nutné při každém použití privátního klíče.

key-png

Veřejný klíč je nyní potřeba zkopírovat na server. Můžete si zobrazit v terminálu přikazem cat, nebo jiným editorem. Veřejný klíč je text začínající ssh-rsa.

Přihlaste se na server a vytvořte skrytou složku .ssh: mkdir .ssh a chmod 700 .ssh
Nyní veřejný klíč zapište do souboru s autorizovanými klíči: nano .ssh/authorized_keys
Nastavte práva nově vytvořeného souboru: chmod 600 .ssh/authorized_keys
Restartuje SSH a vyzkoušejte nové nastavení: systemctl restart ssh

Použití SFTP protokolu

Z webhostingových služeb (jako třeba CZECHIA.COM) jste zvyklí soubory na server nahrávat pomocí FTP protokolu. Ten však není zabezpečen a na čistém serveru není FTP server nainstalován a nastaven. Nemusíte však tuto práci dělat, stačí se místo FTP protokolu připojovat přes SFTP. Tento protokol umí většina FTP klientů, např. Filezilla.

sftp-pngPřínosy SFTP jsou dva – nemusíte nastavovat FTP server s uživateli. Můžete se přihlásit jako uživatel systému, tedy se stávajícím loginem Roota. Druhou výhodou je zabezpečení protokolu, protože používá TLS. Spojení probíhá přes SSH a SFTP je zkratkou pro SSH File Transfer Protocol, nebo Secure File Transfer Protocol. SFTP je bezpečnější a elegantnější řešení, než zastaralé FTP.

Virtuální servery bez závazků

Někteří poskytovatelé vyžadují po zákaznících několika měsíční a dokonce i několika leté smlouvy. Na ZonerCloud.cz jsou servery zcela bez závazků. Můžete vyzkoušet servery pouze na měsíc a poté se rozhodnout, zda pokračovat. Vyzkoušejte virtuální servery od ZonerCloud.cz!

Daniel Šenkyřík

Jsem PHP programátor se zaměřením na Nette a Wordpress. Mám za sebou dokončené vyšší desítky Wordpress projektů o různé složitosti - počínaje jednoduchými prezentacemi, přes eshopy až po velmi rozsáhlé projekty. Preferuji tvorbu vlastních šablon na míru.

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *