Uživatelské nástroje

Nástroje pro tento web


navody:openssh

OpenSSH

OpenSSH je program, který umožňuje zabezpečenou vzdálenou správu systému.

http://www.root.cz/clanky/jak-nahradit-ftp-pomoci-sftp-a-zamknout-uzivatele/ - nahrazení SFTP za FTP

Klávesové zkratky

  • <enter>~. - ukončí ssh, i když shell „zamrzne“

Generování klíčů

vygeneruje soukromý a veřejný klíč 521 bitů dlouhý

cd ~/.ssh
ssh-keygen -b 521 -t ecdsa

otisk klíče se dá zjisti následujícím příkazem

ssh-keygen -lf id_rsa.pub

Autorizované klíče

Pokud se chceme přihlašet na vzdálený účet přes SSH bez hesla na základě veřejného klíče (jde o bezpečnější variantu), je třeba do vzdáleného adresáře ~/.ssh přidat soubor authorized_keys s lokálním veřejným klíčem.

veřejný klíč je možní nahrát na server následujícím příkazem

ssh-copy-id <uživatel>@<host>

Práva

Některé chyby jsou způsobeny špatně nastavenými právy.

drwx------.  ~/.ssh
-rw-------   ~/.ssh/authorized_keys
-rw-------   ~/.ssh/id_rsa

lze nastavit například takto:

chmod -R 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/authorized_keys

Config

konfigurace uživatele je možná v souboru ~/.ssh/config

následující řádky zajistí, aby firewall po určité době nezrušil spojení

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2

Config sshd

V souboru /etc/ssh/sshd_config

# ssh poslouchá na obou portech
Port 22
Port 443
# zakáže přihlášní roota
PermitRootLogin no
# povolí se přihlásit pouze uživatelům ''user1'' ''user2'' ''user3''
AllowUsers user1 user2 user3

Příklady použití

ssh

připojí se na <host>:<port> jako uživatel <user> a použije jíný privátní klíč než ~/.ssh/id_rsa

ssh -p <port> -i <cesta k privátnímu klíči> <user>@<host>

přidá text na konec vzdáleného souboru soubor.txt

cat "text" | ssh uzivatel@adresa "cat >> soubor.txt"

ssh-keygen

smaže <hostname> z ~/.ssh/known_hosts

ssh-keygen -R <hostname>

ukáže položku z ~/.ssh/known_hosts pro <hostname>

ssh-keygen -H -F <hostname>

ukáže otisk serveru hostname

ssh-keygen -E sha256 -lf <(ssh-keyscan hostname 2>/dev/null)

Tunelování

připojení na localhost:<port1> bude protunelováno na <ssh host> a od tuď se připojí na <host2>:<port2>

ssh -L <port1>:<host2>:<port2> <ssh host>

vytvoří SOCKS proxy na portu 9999

ssh -D 9999 <user>@<host>
navody/openssh.txt · Poslední úprava: 2022/04/04 10:48 autor: jules