SSH (Secure Shell) je protokol zabezpečené vzdálené práce s operačním systémem. Poskytuje zabezpečené připojení a přenos dat mezi dvěma vzdálenými počítači a také umožňuje příkazy na vzdáleném počítači přes internet. Tento protokol je široce používán v systémech Linux, kde poskytuje zabezpečenou správu serverů a vzdálených počítačů.
Chcete-li povolit přístup přes SSH v Linuxu, musíte provést několik kroků. Nejprve musíte nainstalovat server SSH do vzdáleného zařízení. Za druhé, pravidla brány firewall by měla být nakonfigurována tak, aby umožňovala příchozí připojení SSH. Nakonec je třeba vytvořit a nakonfigurovat klíče SSH pro autentizaci a ochranu připojení.
Připojení ke vzdálenému zařízení pomocí SSH je bezpečnější ve srovnání s běžným připojením prostřednictvím protokolu Telnet, protože SSH šifruje přenášené informace a vyžaduje ověření při připojení. Tento Hyde nabízí podrobný návod k povolení přístupu SSH v Linuxu a pomůže vám nakonfigurovat zabezpečenou vzdálenou správu vašich zařízení.
Jak povolit přístup přes SSH v Linuxu
Chcete-li povolit přístup přes SSH v Linuxu, postupujte podle následujících kroků:
| Krok | Popis |
|---|---|
| 1 | Nainstalujte balíček OpenSSH, pokud ještě není ve vašem počítači. Proveďte příkaz: |
| sudo apt-get install openssh-server | |
| 2 | Zkontrolujte stav služby SSH. Proveďte příkaz: |
| sudo service ssh status | |
| 3 | Pokud služba SSH není spuštěna, spusťte ji. Proveďte příkaz: |
| sudo service ssh start | |
| 4 | Nakonfigurujte firewall tak, aby umožňoval příchozí připojení pomocí SSH. Proveďte příkaz: |
| sudo ufw allow ssh |
Po provedení těchto kroků bude přístup SSH povolen na vašem počítači se systémem Linux. Budete se moci vzdáleně připojit ke svému serveru pomocí SSH.
Instalace balíčku SSH
Než začneme konfigurovat přístup pomocí SSH, musíme se ujistit, že náš server Linux má nainstalovaný balíček SSH.
Chcete-li nainstalovat balíček SSH do většiny distribucí Linuxu, musíte spustit následující příkaz:
| Debian a Ubuntu: | sudo apt-get install openssh-server |
| Fedora: | sudo dnf install openssh-server |
| CentOS: | sudo yum install openssh-server |
Po zadání příkazu může systém požádat o heslo správce. Zadejte heslo a stisknutím klávesy Enter pokračujte v instalaci.
Instalace balíčku SSH může nějakou dobu trvat, zvláště pokud server potřebuje stáhnout další balíčky. Po dokončení instalace se zobrazí zpráva o úspěšném dokončení.
Nyní, když je balíček SSH nainstalován na vašem serveru, jste připraveni začít konfigurovat a povolit přístup pomocí SSH.
Generování SSH klíčů
Pro generování klíčů SSH v Linuxu lze použít příkaz ssh-keygen. Tento příkaz generuje několik klíčů - veřejný a soukromý. Veřejný klíč je zkopírován na server a soukromý klíč je uložen v místním počítači.
Chcete-li vygenerovat nový pár klíčů, spusťte následující příkaz:
ssh-keygen -t rsa -b 4096
Tento příkaz označuje použití algoritmu RSA a délky klíče 4096 bitů. Pokud je to nutné, můžete si také vybrat jiné algoritmy a délky klíčů.
Po provedení příkazu vás systém požádá o zadání cesty pro uložení klíčů. Ve výchozím nastavení jsou klíče uloženy v adresáři ~/.ssh. Můžete také zadat jinou cestu, pokud je pro vás pohodlnější.
Nyní máte pár klíčů-otevřený a soukromý. Veřejný klíč má rozšíření .pub. Chcete-li zkopírovat veřejný klíč na server, použijte příkaz ssh-copy-id:
Nahradit username uživatelské jméno na serveru a remote_host na adresu vzdáleného serveru. Po provedení tohoto příkazu bude veřejný klíč zkopírován na server a přidán do souboru ~/.ssh/authorized_keys. Nyní se budete moci připojit k serveru bez zadání hesla pomocí soukromého klíče.
Generování klíčů SSH je důležitým krokem k zajištění bezpečnosti při připojení ke vzdálenému serveru. Zajistěte, aby byl soukromý klíč uložen na bezpečném místě a nikomu jej nepředal.
Kopírování veřejného klíče na server
- Otevřete terminál na místním počítači.
- Na příkazovém řádku zadejte příkaz:
Nahradit [uživatel@]hostitel na uživatelské jméno a adresu serveru, ke kterému chcete přistupovat.
Terminál vás požádá o zadání hesla vašeho uživatele na serveru. Zadejte heslo a stiskněte Enter.
Po úspěšném zadání hesla bude váš veřejný klíč zkopírován na server a přidán do souboru~/.ssh/authorized_keys . Tento soubor obsahuje seznam klíčů, které lze použít k ověření při připojení přes SSH.
Nyní můžete zavřít terminál na místním počítači a začít se připojovat k serveru SSH pomocí soukromého klíče.
Konfigurace serveru pro povolení připojení pomocí SSH
Než začnete povolovat přístup pomocí SSH na serveru, ujistěte se, že máte nainstalovaný a spuštěný server SSH. Obvykle je již standardně nainstalován ve většině distribucí Linuxu. Pokud jej nemáte, nainstalujte jej pomocí příkazu:
sudo apt-get install openssh-server
Po instalaci serveru SSH je třeba zkontrolovat stav jeho služby. Chcete-li to provést, zadejte příkaz:
systemctl status sshd
Pokud služba funguje, zobrazí se o ní odpovídající zpráva. Pokud je služba zastavena, musíte ji spustit příkazem:
sudo systemctl start sshd
Nyní, když je server SSH nainstalován a funguje, zkontrolujte, zda je dostupný z vašeho vzdáleného počítače. Chcete-li to provést, zadejte příkaz:
ssh username@your_server_ip_address
Nahraďte username svým uživatelským jménem na serveru a your_server_ip_address IP adresou vašeho serveru.
Pokud máte problémy s připojením, ujistěte se, že server má otevřený port 22 ve faervole. Můžete jej otevřít příkazem:
sudo ufw allow 22
Nyní, když jste se ujistili, že je server SSH k dispozici a funguje, můžete jej začít konfigurovat, abyste zvýšili zabezpečení.
První věc, kterou byste měli udělat, je změnit standardní port SSH z 22 na jiný. Chcete-li to provést, otevřete soubor nastavení sshd_config pomocí textového editoru:
sudo nano /etc/ssh/sshd_config
Najděte řádek s portem (výchozí Port 22) a změňte hodnotu portu na jakýkoli jiný, jako je 2222. Uložte změněný soubor a restartujte službu SSH příkazem:
sudo systemctl restart sshd
Nyní se můžete připojit k serveru pomocí nového portu:
ssh -p 2222 username@your_server_ip_address
Dalším užitečným nastavením zabezpečení je deaktivace přístupu k serveru heslem a povolení pouze klíčového ověřování. Chcete-li to provést, vyhledejte řádek s parametrem PasswordAuthentication a změňte jeho hodnotu na no:
PasswordAuthentication no
Ujistěte se také, že nastavení PubkeyAuthentication má hodnotu yes:
PubkeyAuthentication yes
Uložte změny a restartujte službu SSH.
To jsou jen některé z možných nastavení serveru SSH. Existují další možnosti, které lze změnit pro zvýšení zabezpečení serveru. Každý z nich má svá specifika a před provedením změn vyžaduje pečlivé studium.
Po provedení všech nezbytných nastavení se nikomu nedoporučuje připojovat se k serveru SSH pomocí hesla. Doporučuje se vytvořit a použít klíče SSH k bezpečnému připojení k serveru. Tím se do vašeho systému přidá další úroveň ochrany.
Kontrola připojení k serveru SSH
Po konfiguraci přístupu SSH na serveru musíte zkontrolovat, zda připojení funguje. K tomu lze použít příkaz ssh v terminálu. Příklad příkazu:
| Tým | Popis |
|---|---|
| ssh username@server_address | Připojení k serveru na zadanou adresu pomocí zadaného uživatelského jména |
Nahraďte username uživatelským jménem a server_address IP adresou nebo doménovým názvem serveru. Při provádění příkazu můžete být vyzváni k potvrzení připojení, zadejte " yes " a stiskněte Enter.
Pokud jsou všechna nastavení SSH správná a připojení je úspěšné, zobrazí se výzva k zadání hesla z vašeho účtu na serveru. Zadejte heslo a stiskněte Enter.
Pokud bylo přihlášení k serveru úspěšné, zobrazí se výzva příkazového řádku serveru. To znamená, že připojení je nastaveno a přístup přes SSH funguje.
Konfigurace zabezpečení přístupu pomocí SSH
Zde je několik základních kroků, které lze provést k nastavení zabezpečení přístupu pomocí SSH:
- Změňte port SSH: ve výchozím nastavení používá SSH port 22, který je dobře známý a často náchylný k útokům. Doporučujeme změnit port na vyšší, nestandardní číslo portu.
- Omezte přístup pouze pro konkrétní uživatele: SSH lze nakonfigurovat tak, aby k systému SSH měli přístup pouze konkrétní uživatelé. To lze provést přidáním oprávněných uživatelů do souboru / etc / ssh / sshd_config .
- Místo hesel použijte klíče SSH: použití klíčů SSH místo hesel zvyšuje bezpečnost, protože klíče je obtížnější kompromitovat. Pro použití klíčů SSH je nutné vygenerovat klíčový pár, který se skládá ze soukromého a veřejného klíče.
- Nastavte limit na počet pokusů o přihlášení: můžete omezit maximální počet pokusů o přihlášení pomocí SSH. Pokud například někdo používá nesprávné heslo několikrát, jeho IP adresa bude dočasně zablokována.
- Aktualizujte SSH server a operační systém: je důležité pravidelně aktualizovat server SSH a operační systém, abyste odstranili známé zranitelnosti a zajistili bezpečnost.
Dodržováním těchto bezpečnostních opatření můžete výrazně snížit riziko neoprávněného přístupu a zajistit zabezpečení přístupu SSH.
Změna portu SSH
Chcete-li změnit port SSH v Linuxu, postupujte podle těchto kroků:
- Otevřete terminál nebo se připojte k serveru přes SSH.
- Upravte konfigurační soubor SSH "/ etc / ssh / sshd_config" pomocí textového editoru. Například v Ubuntu můžete použít příkaz:
sudo nano /etc/ssh/sshd_config
Upozorňujeme, že úpravy souboru budou vyžadovat oprávnění správce (root).
- Najděte řádek obsahující port SSH (obvykle řetězec " #Port 22 "). Komentujte tento řádek odstraněním symbolu # na začátku řádku a nahraďte "22" novým portem, který chcete použít.
- Uložte změny a zavřete soubor.
- Restartujte službu SSH a použijte změny konfigurace. V Ubuntu můžete použít příkaz:
sudo systemctl restart ssh
SSH nyní bude poslouchat port, který jste zadali. Pokud používáte firewall, nezapomeňte jej nakonfigurovat tak, aby procházel provoz přes nový port SSH.
Po změně portu SSH, jeho starý Port (výchozí port 22) mohou útočníci použít k pokusu o hack. Proto je změna portu SSH jedním z nejjednodušších, ale účinných bezpečnostních opatření k ochraně serveru před útoky.