OpenSSH

Kategorie: Server

Klient a server pro vzdálené zabezpečené přihlášení a přenos souborů v systémech Linux/Unix (i Windows – ale to až jindy).

SSH nebo někdy také OpenSSH je protokol a nástroj sloužící k zabezpečenému připojení počítačů propojených v síti. Díky SSH se můžete šifrovaně spojit s jiným počítačem a ovládat ho. Dokáže také přesměrovat X a zvládá IP adresy V6. Spojení se dá komprimovat pro dosažení rychlejšího přenosu na pomalých připojeních.

Start serveru

Pro SSH server v systémech Linux/Unix je nutné mít zainstalovaný balíček openssh a spuštěnou službu sshd. Výchozí nastavení serveru je pro otestování dostačující.

Konfigurace serveru se nachází v /etc/ssh/sshd_config.

V modernější distribuci spustíme službu pomocí systemctl:

systemctl enable sshd
systemctl start sshd

V systému FreeBSD se pro zapínání SSH démona zapíše do konfiguračního souboru /etc/rc.conf řádek sshd_enable=“YES“. Konfigurační soubory jsou stejné v /etc/ssh/sshd_config.

Parametry nastavení serveru

  • AllowTcpForwarding yes povolí směrování portů
  • ChallengeResponseAuthentication yes výměna informací o autentifikaci
  • ForwardX11 no vypne přesměrování X Serveru
  • GatewayPorts yes pro přesměrování portů do brány
  • LogLevel VERBOSE upovídaný log
  • LoginGraceTime 2m doba pro opakování přihlášení
  • MaxAuthTries 6 maximální počet pokusů přihlášení
  • MaxSessions 10 maximální počet připojení
  • PasswordAuthentication no vypne přihlašování heslem (musí se zapnout klíč)
  • PermitEmptyPasswords no zakáže prázdná hesla
  • PermitRootLogin no zakáže přihlašování roota
  • Port 22 nastaví port na 22
  • PubkeyAuthentication yes zapne přihlašování klíčem
  • UsePAM yes ověření pomocí PAM

Jak se připojit?

Jako první je potřeba zprovoznit sshd server na vzdáleném počítači s nastavením potřebných parametrů. Umístění konfiguračního souboru pro sshd závisí na distribuci Linux a nebo také operačním systému.

Připojení ke vzdálenému počítači provedeme příkazem ssh a poté následuje jméno uživatele, zavináč a IP adresa vzdáleného počítače. Běžně není nezbytné zadávat uživatele, protože na to budeme dotázáni.

Na lokálním počítači

ssh uzivatel@ipadresavzdalenehoPC

Zjištění IP adresy v Linux

  1. otevřít konzoli
  2. ip a (Když nezabere příkaz ip, tak zkusím ifconfig)

Zjištění IP adresy v FreeBSD

  1. otevřít konzoli
  2. ifconfig

Zjištění IP adresy na Windows

  1. WIN + r (spustit)
  2. cmd
  3. ipconfig

Připojení z Windows díky PuTTY

Z operačího systému Windows se lze bez problémů připojit na jakýkoli SSH server, který je dostupný v síti anebo přes internet. To vše umožní klasický program PuTTY, který je volně ke stažení.

Pro připojení stačí znát opět uživatele a adresu počítače.

Přihlášení klíčem

Pokud se chceme přihlašovat ke vzdálenému počítači pomocí klíče, musíme si jej vygenerovat na lokálním počítači příkazem ssh-keygen. Při tvorbě klíče zadáme ještě heslo, abychom zvýšili svou bezpečnost. Jestliže při vytváření klíče heslo nezadáme a necháme jej prázdné, budeme se přihlašovat bez hesla. Pokud jsme vygenerovali klíč, musíme ho nahrát do vzdáleného počítače příkazem ssh-copy-id a opět následuje jméno uživatele, zavináč a IP adresa vzdáleného počítače.

Vzdálený počítač – server

V nastavení serveru musí být parametry:

  • PubkeyAuthentication yes Zapne přihlašování klíčem
  • PasswordAuthentication no vypne přihlašování heslem

Lokální počítač – klient

Pokud běží vzdálený server, můžu na lokálním počítači udělat sérii příkazů pro vytvoření klíče a odeslání klíče do vzdáleného stroje.

ssh-keygen
ssh-copy-id uzivatel@ipadresavzdalenehoPC

Vložení existujícího klíče

V adresáři uživatele, na kterého se budeme připojovat pomocí SSH, vytvoříme adresář .ssh obsahující soubor s klíčem.

  1. Vytvořím složku .ssh: mkdir .ssh
  2. Přidělím složce absolutní práva pouze vlastníkovi: chmod 700 .ssh
  3. Vytvořím soubor obsahující klíč a vložím do něj na jeden řádek klíč: nano .ssh/authorized_keys
  4. Udělím práva vlastníkovi klíče: chmod 600 .ssh/authorized_keys

Tipy

  • Pro lepší práci s terminály se hodí programy GNU Screen, Tmux anebo jejich nástavba Byobu.
  • Užitečný může být přesun procesů pomocí programu Reptyr.