Co je ssh – Secure Shell
Secure shell je bezpečný komunikační protokol, který lze použít pro vzdálenou správu (jako webový server) přes terminál.
Je to technicky zabezpečená verze telnetu. Shell přístup na jakémkoli systému umožňuje uživateli spouštět příkazy a ovládat systém.
Pokud jste pracovali na linuxových serverech online z příkazového řádku, pravděpodobně jste to použili.
Komunikace je zabalena pomocí šifrování ssl a nazývá se bezpečný shell.
Ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine. It provides secure encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel. It can be used to provide applications with a secure communication channel.
Pro bezpečný shell potřebujeme 2 komponenty. První je zabezpečený shell server, který běží na počítači, který má být vzdáleně řízen. A druhá část je ssh klient, který umí mluvit ssh protokolem a komunikovat se ssh serverem.
V tomto příspěvku se podíváme, jak nastavit ssh server a klienta na ubuntu a provést nějakou zabezpečenou komunikaci.
Nainstalujte OpenSSH Server
Na ubuntu nainstalujte balíček openssh-server. Poskytuje sshd server. Stejná metoda by měla fungovat i na Debianu a dalších distribucích založených na Debianu.
$ sudo apt-get install openssh-server
This is the portable version of OpenSSH, a free implementation of the Secure Shell protocol as specified by the IETF secsh working group.
Po instalaci by měl být ssh server v provozu. Ověřte to příkazem service
$ service ssh status ssh start/running, process 29422
Připojte se k serveru SSH z klienta
Nyní se připojte k serveru ssh pomocí příkazu ssh. Příkaz ssh je "openssh klient". Syntaxe ssh je takto
ssh [email protected] OR ssh -l username hostname
Připojte se k našemu ssh serveru.
$ ssh [email protected] The authenticity of host 'localhost (127.0.0.1)' can't be established. ECDSA key fingerprint is f2:81:02:29:0b:84:69:d4:71:35:e0:2f:d7:3b:cd:3e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. [email protected]'s password:
Po přihlášení se zobrazí uvítací zpráva podobná této
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic x86_64) * Documentation: https://help.ubuntu.com/ New release '13.04' available. Run 'do-release-upgrade' to upgrade to it. *** System restart required *** Last login: Thu May 30 20:58:33 2013 from localhost $
Konfigurace serveru SSH
Ssh server standardně pracuje na portu 22. Pokud chcete změnit výchozí port ssh serveru, upravte soubor
/etc/ssh/sshd_config
Obsahuje řádek pro specifikaci čísla portu.
# What ports, IPs and protocols we listen for Port 22
Po změně čísla portu restartujte ssh server pomocí příkazu service
$ sudo service ssh restart ssh stop/waiting ssh start/running, process 30751
Chcete-li se dozvědět více o tom, jak nakonfigurovat ssh server pomocí konfiguračního souboru, zkontrolujte manuálovou stránku spuštěním následujícího příkazu
man sshd_config
Klient Putty ssh – uživatelé Windows
Na ubuntu je příkaz terminal ssh nejjednodušším způsobem, jak se připojit k jakémukoli ssh serveru. Pokud však hledáte alternativu, zkuste tmel.
Putty je bezplatný ssh/telnet klient, který je dostupný pro linux i windows. Na ubuntu jej nainstalujte ze synaptic
sudo apt-get install putty
Zabezpečení serveru SSH
Pokud instalujete ssh server na vzdálený a online server, je důležité server zabezpečit. Zde jsou některá bezpečnostní opatření, která můžete implementovat pro posílení zabezpečení ssh serveru.
1. Používejte silná uživatelská jména a hesla
2. Nakonfigurujte interval časového limitu nečinnosti
3. Zakázat prázdná hesla
4. Poskytněte ssh přístup pouze konkrétním uživatelům
5. Zakázat přihlášení uživatele root
6. Používejte pouze protokol ssh 2
7. Použijte jiný port
8. Omezení klientů pomocí brány firewall
9. Použít autentizaci na základě klíče
Přihlášení bez hesla k ssh serveru
Nastavení ssh serveru ve výchozím nastavení vyžaduje uživatelské jméno/heslo pro přihlášení. Je však možné nastavit přihlášení bez hesla pomocí autentizace na základě klíče.
Podívejte se na můj tutoriál o nastavení hesla bez přihlášení do ssh pro více informací.
Odkazy a zdroje
Chcete-li se dozvědět více, podívejte se na následující odkazy:
http://www.openssh.org/Pokud máte nějakou zpětnou vazbu nebo dotazy, dejte nám vědět v komentářích níže.