Úvod
OpenSSH je výkonný soubor nástrojů pro dálkové ovládání a přenos dat mezi, síťových počítačů. Dozvíte se také o některých konfiguračních nastaveních možných pomocí aplikace OpenSSH server a o tom, jak je změnit v systému Ubuntu.
OpenSSH je volně dostupná verze Secure Shell (SSH) protokol rodiny nástrojů pro dálkové ovládání nebo přenos souborů mezi počítači. Tradiční nástroje používané k provádění těchto funkcí, jako je telnet nebo rcp, jsou nezabezpečené a při použití přenášejí heslo uživatele v jasném textu. OpenSSH poskytuje serverové démony a klientské nástroje, které usnadňují bezpečné, šifrované operace dálkového ovládání a přenosu souborů a účinně nahrazují starší nástroje.
komponenta OpenSSH server, sshd, neustále poslouchá připojení klienta z některého z klientských nástrojů. Pokud dojde k požadavku na připojení, sshd nastaví správné připojení v závislosti na typu připojení klientského nástroje. Pokud se například vzdálený počítač připojuje k klientské aplikaci ssh, server OpenSSH nastaví relaci dálkového ovládání Po ověření. Pokud se vzdálený uživatel připojí k serveru OpenSSH pomocí scp, démon serveru OpenSSH iniciuje po ověření bezpečnou kopii souborů mezi serverem a klientem. OpenSSH může používat mnoho autentizačních metod, včetně prostého hesla, veřejného klíče a vstupenek Kerberos.
instalace
Instalace klientských a serverových aplikací OpenSSH je jednoduchá. Nainstalovat OpenSSH klienta aplikace na vašem systému Ubuntu, použijte tento příkaz v terminálu řádku:
sudo apt install openssh-client
instalovat OpenSSH server aplikace, a související podpůrné soubory, použijte tento příkaz v terminálu řádku:
sudo apt install openssh-server
Nastavení
můžete nastavit výchozí chování OpenSSH server aplikace, sshd, úpravou souboru /etc/ssh/sshd_config
. Pro informace o konfiguraci směrnic používá v tomto souboru, můžete zobrazit odpovídající manuálovou stránku s následující příkaz, vydaný v terminálu řádku:
man sshd_config
Existuje mnoho směrnic v sshd konfigurační soubor ovládající takové věci jako nastavení komunikace, a způsoby ověřování. Níže jsou uvedeny příklady konfiguračních direktiv, které lze změnit úpravou souboru /etc/ssh/sshd_config
.
Tip
Před úpravou konfiguračního souboru, měli byste vytvořit kopii původního souboru a chránit ji od psaní, takže budete mít původní nastavení jako referenční a použít podle potřeby.
Zkopírujte
/etc/ssh/sshd_config
soubor a chránit ji od psaní pomocí následujících příkazů, vydaných v terminálu řádku:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.originalsudo chmod a-w /etc/ssh/sshd_config.original
Dále od ztráty ssh server by mohlo znamenat ztrátu vaší cestě k dosažení server, zkontrolujte konfiguraci po změně a před restartováním serveru:
sudo sshd -t -f /etc/ssh/sshd_config
následující jsou příklady konfigurace směrnic vás může změnit:
- nastavit OpenSSH naslouchat na TCP port 2222 místo výchozího TCP portu 22, změňte Port směrnice jako takové:
Port 2222
- Chcete, aby vaše OpenSSH server zobrazit obsah
/etc/issue.net
soubor pre-login banner, jednoduše přidat nebo upravit tento řádek v/etc/ssh/sshd_config
souboru:
Banner /etc/issue.net
Po provedení změn v /etc/ssh/sshd_config
soubor, uložit soubor a restartovat sshd server aplikace provést změny, pomocí následujícího příkazu v terminálu řádku:
sudo systemctl restart sshd.service
Upozornění
Mnoho další konfigurační direktivy pro sshd jsou k dispozici změnit server aplikace je chování, aby se vešly vaše potřeby. Být upozorněni, nicméně, pokud váš jediný způsob přístupu k serveru ssh, a uděláte chybu v konfiguraci sshd pomocí
/etc/ssh/sshd_config
soubor, možná zjistíte, že jsou zamčené z server po restartování. Navíc, pokud je dodána nesprávná konfigurační směrnice, server sshd může odmítnout spuštění, proto buďte při úpravách tohoto souboru na vzdáleném serveru zvlášť opatrní.
SSH Klíče
SSH povolit ověřování mezi dvěma počítači bez potřeby hesla. Ověření SSH klíče používá soukromý klíč a veřejný klíč.
Chcete-li vygenerovat klíče, z výzvy terminálu zadejte:
ssh-keygen -t rsa
tím se vygenerují klíče pomocí algoritmu RSA. V době tohoto zápisu budou mít generované klíče 3072 bitů. Počet bitů můžete upravit pomocí volby -b
. Například pro generování klíčů s 4096 bity můžete provést:
ssh-keygen -t rsa -b 4096
během procesu budete vyzváni k zadání hesla. Po zobrazení výzvy k vytvoření klíče jednoduše stiskněte klávesu Enter.
ve výchozím nastavení veřejný klíč je uložen v souboru ~/.ssh/id_rsa.pub
, zatímco ~/.ssh/id_rsa
je soukromý klíč. Nyní zkopírujte id_rsa.pub
soubor na vzdáleném počítači a připojit ji do ~/.ssh/authorized_keys
zadání:
ssh-copy-id username@remotehost
a Konečně, zkontrolujte oprávnění na authorized_keys
soubor, pouze ověřený uživatel by měl mít oprávnění číst a zapisovat. Pokud oprávnění nejsou správná, změňte je podle:
chmod 600 .ssh/authorized_keys
nyní byste měli mít možnost SSH hostiteli, aniž byste byli vyzváni k zadání hesla.
Import klíčů z veřejných keyserverů
v těchto dnech má mnoho uživatelů již SSH klíče registrované u služeb, jako je launchpad nebo github. Ty mohou být snadno importovány:
ssh-import-id <username-on-remote-service>
prefix lp:
je implicitní a znamená, že načítání z launchpad, alternativní gh:
bude, jak vydělat na nástroj načíst z github místo.
dvoufaktorová autentizace pomocí U2F / FIDO
OpenSSH 8.2 Přidána podpora pro zařízení pro ověřování hardwaru U2F / FIDO. Tato zařízení se používají k zajištění další vrstvy zabezpečení nad existující autentizací založenou na klíči, protože k dokončení autentizace musí být přítomen hardwarový token.
je to velmi jednoduché použití a nastavení. Jediným dalším krokem je vygenerování nového páru kláves, který lze použít s hardwarovým zařízením. K tomu lze použít dva klíčové typy: ecdsa-sk
a ed25519-sk
. První z nich má širší hardwarovou podporu, zatímco druhý může potřebovat novější zařízení.
Jakmile klíčů je generován, může být použit jako byste normálně používat jakýkoli jiný typ klíče v openssh. Jediným požadavkem je, aby bylo možné používat soukromý klíč, musí být zařízení U2F přítomno na hostiteli.
například, připojte U2F zařízení a generovat pár klíčů pro použití s:
$ ssh-keygen -t ecdsa-skGenerating public/private ecdsa-sk key pair.You may need to touch your authenticator to authorize key generation. <-- touch deviceEnter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa_sk): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa_skYour public key has been saved in /home/ubuntu/.ssh/id_ecdsa_sk.pubThe key fingerprint is:SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo ubuntu@focal
Teď už jen převést veřejné části na server ~/.ssh/authorized_keys
a jste připraveni jít:
$ ssh -i .ssh/id_ecdsa_sk [email protected] user presence for key ECDSA-SK SHA256:V9PQ1MqaU8FODXdHqDiH9Mxb8XK3o5aVYDQLVl9IFRo <-- touch deviceWelcome to Ubuntu Focal Fossa (GNU/Linux 5.4.0-21-generic x86_64)(...)[email protected]:~$