Tipy pro připojení přes SSH

Při spouštění webových aplikací se nevyhnete vzdálenému přihlašovaní přes SSH. Jelikož se některé činnosti stále opakují, např. při přesunu serveru, tak jsem si i pro sebe připravil příspěvek, do kterého budu připínat jednotlivé tutoriály.

Zákaz přihlašování přes SSH pro uživatele root a změna portu

..vede ke zvýšení bezpečnosti. Pokud byste měli povolenou možnost přihlášení uživatele root, tak už někomu stačí zkoušet heslo hrubou silou.

Tady je odkaz na návod: http://mediatemple.net/community/products/dv/204643810/how-do-i-disable-ssh-login-for-the-root-user

Osobně nedoporučuji dávat uživatele admin do skupiny sudoers, ale používat uživatele admin jen pro připojení přes ssh a dále se pak su root přepnout.

Dále doporučuji změnit port v /etc/ssh/sshd_config z původního 22.

Zablokování IP adresy po několika neúspěšných pokusech o přihlášení -fail2Ban

Útok hrubou silou lze jednoduše blokovat pomocí nástroje fail2ban, který není určen jen pro SSH, ale i pro jiné služby nebo aplikace.

Návod v češtině lze najít na http://www.root.cz/clanky/fail2ban-konec-hadani-hesel-na-serveru/.

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

Linux

Klíč si vygenerujeme pomocí příkazu ssh-keygen Vyplníme název klíče a passphrase (můžeme ponechat passphrase prázdný).
Obsah souboru končící .pub vložíme v cílovém počítači do ~/.ssh/authorized_keys na nový řádek. Tedy např.

cat remoteuser.pub >> /root/.ssh/authorized_keys 

Obsah souboru remoteuser zkopírujeme do libovolného souboru (např. remoteuser) v uživatelksém adresáři – např. C:\Users\remoteuser\.ssh nebo ~/.ssh/ na Linuxu.
Na našem počítači v souboru ~/.ssh/config vytvoříme konfiguraci daného SSH klíče

Host martinkokes.cz # název hosta - libovolný
    HostName 192.168.0.2 # IP adresa nebo FQDN vzdáleného počítače
    Port 22
    IdentityFile ~/.ssh/remoteuser # lokace privátního SSH klíče
    # IdentityFile C:\Users\remoteuser\.ssh\remoteuser # konfigurace pro Windows
    User admin # Uživatel, za kterého se budeme připojovat - musí mít public SSH klíč
    IdentitiesOnly yes # Tímto řekneme SSH klientovi, aby se pokoušel připojit JEN pomocí klíče, a ne hesla

Do vzdáleného počítače se připojíme pomocí ssh HOST kde HOST je název hosta z konfigu.

Windows

Abyste nemuseli zadávat stále dokola uživatelské jméno a heslo, můžete si vytvořit pár klíčů a využít je v Putty.

Tady je návod: http://www.howtoforge.com/how-to-configure-ssh-keys-authentication-with-putty-and-linux-server-in-5-quick-steps

Znáte ještě nějaké další tipy? Podělte se o ně v komentářích. :-)