GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a povolit SSH server na Debianu 10

Tento tutoriál se zaměřuje na nastavení a konfiguraci serveru SSH na minimálním serveru Debian 10

SSH , pro Secure Shell , je síťový protokol, který se používá k provozování vzdáleného přihlašování ke vzdáleným strojům v místní síti nebo přes internet. Architektury SSH obvykle zahrnují server SSH, který používají klienti SSH k připojení ke vzdálenému počítači.

Jako správce systému je velmi pravděpodobné, že používáte SSH každý den k připojení ke vzdáleným počítačům ve vaší síti.

V důsledku toho, když jsou do vaší infrastruktury připojeni noví hostitelé, možná je budete muset nakonfigurovat, aby na nich instalovali a povolili SSH.

V tomto tutoriálu se podíváme, jak můžete nainstalovat a povolit SSH prostřednictvím OpenSSH , v distribucích Debianu 10.

Předpoklady

Abyste mohli nainstalovat SSH server na Debian 10, budete muset mít na svém hostiteli oprávnění sudo.

Chcete-li zkontrolovat, zda máte nebo nemáte oprávnění sudo, spusťte následující příkaz

$ sudo -l

Pokud na svém terminálu vidíte následující položky, znamená to, že máte zvýšená oprávnění

Ve výchozím nastavení by měl být nástroj ssh nainstalován na vašem hostiteli, a to i v minimálních konfiguracích.

Chcete-li zkontrolovat verzi vašeho nástroje SSH, můžete spustit následující příkaz

$ ssh -V

Jak můžete vidět, používám OpenSSH v7.9 s OpenSSL v1.1.1.

Všimněte si, že to neznamená, že jsou na mém hostiteli nainstalovány servery SSH, znamená to pouze, že se mohu připojit ke vzdáleným počítačům jako klient pomocí nástroje SSH.

Znamená to také, že na mém hostiteli budou dostupné konkrétní nástroje související s protokolem SSH (jako je například scp) nebo související se servery FTP (jako je sftp).

Instalace OpenSSH serveru na Debian 10

Nejprve se pomocí příkazu update

ujistěte, že jsou vaše balíčky aktuální
$ sudo apt-get update

Chcete-li nainstalovat server SSH na Debian 10, spusťte následující příkaz

$ sudo apt-get install openssh-server

Příkaz by měl spustit kompletní instalační proces a měl by nastavit všechny potřebné soubory pro váš SSH server.

Pokud byla instalace úspěšná, měli byste mít nyní na svém hostiteli nainstalovanou službu sshd.

Chcete-li zkontrolovat nově nainstalovanou službu, spusťte následující příkaz

$ sudo systemctl status sshd

Ve výchozím nastavení bude váš SSH server běžet na portu 22.

Toto je výchozí port přiřazený pro komunikaci SSH. Můžete zkontrolovat, zda je tomu tak na vašem hostiteli spuštěním následujícího příkazu netstat

$ netstat -tulpn | grep 22

Skvělý! Váš SSH server je nyní spuštěn na vašem hostiteli Debian 10.

Povolení provozu SSH v nastavení brány firewall

Pokud na svém systému Debian 10 používáte UFW jako výchozí firewall, je pravděpodobné, že budete muset na svém hostiteli povolit připojení SSH.

Chcete-li na svém hostiteli povolit připojení SSH, spusťte následující příkaz

$ sudo ufw allow ssh

Povolit server SSH při spouštění systému

Jak jste pravděpodobně viděli, váš server SSH nyní běží jako služba na vašem hostiteli.

Je také velmi pravděpodobné, že dostane pokyn ke spuštění při spuštění.

Chcete-li zkontrolovat, zda je vaše služba povolena nebo ne, můžete spustit následující příkaz

$ sudo systemctl list-unit-files | grep enabled | grep ssh

Pokud se na vašem terminálu nezobrazují žádné výsledky, povolte službu a spusťte příkaz znovu

$ sudo systemctl enable ssh

Konfigurace vašeho SSH serveru v Debianu

Před poskytnutím přístupu uživatelům prostřednictvím SSH je důležité mít sadu bezpečných nastavení, abyste se vyhnuli napadení, zvláště pokud váš server běží jako online VPS.

Jak jsme již viděli v minulosti, útoky SSH jsou docela běžné, ale lze se jim vyhnout, pokud změníme dostupné výchozí nastavení.

Ve výchozím nastavení jsou vaše konfigurační soubory SSH umístěny v /etc/ssh/

V tomto adresáři najdete mnoho různých konfiguračních souborů, ale ty nejdůležitější jsou :

  • ssh_config :definuje pravidla SSH pro klienty. To znamená, že definuje pravidla, která se použijí pokaždé, když použijete SSH pro připojení ke vzdálenému hostiteli nebo pro přenos souborů mezi hostiteli;
  • sshd_config :definuje pravidla SSH pro váš server SSH. Používá se například k definování dosažitelného portu SSH nebo k zabránění konkrétním uživatelům v komunikaci s vaším serverem.

Samozřejmě se chystáme upravit serverovou část našeho nastavení SSH, protože nás zajímá konfigurace a zabezpečení našeho OpenSSH serveru.

Změna výchozího portu SSH

Prvním krokem ke spuštění zabezpečeného serveru SSH je změna výchozího nastavení přiřazeného serverem OpenSSH.

Upravte svůj konfigurační soubor sshd_config a vyhledejte následující řádek.

#Port 22

Ujistěte se, že jste změnili port na takový, který není vyhrazen pro jiné protokoly. V tomto případě zvolím 2222.

Pokud se při připojování k vašemu hostiteli neběží na výchozím portu, určíte port SSH sami.

Další informace naleznete v části „Připojení k serveru SSH“.

Zakázání přihlášení root na vašem serveru SSH

Ve výchozím nastavení je přihlášení root k dispozici na vašem serveru SSH.

Samozřejmě by tomu tak nemělo být, protože kdyby se hackeři přihlásili jako root na váš server, byla by to úplná katastrofa.

Pokud jste náhodou ve své instalaci Debianu 10 zakázali účet root, stále můžete nakonfigurovat svůj SSH server tak, aby odmítal přihlášení root, v případě, že se jednoho dne rozhodnete znovu povolit své přihlášení root.

Chcete-li zakázat přihlášení root na vašem serveru SSH, upravte následující řádek

#PermitRootLogin

PermitRootLogin no

Konfigurace autentizace SSH na základě klíče

V SSH existují dva způsoby připojení k vašemu hostiteli:pomocí ověřování heslem (co zde děláme) nebo pomocí sady klíčů SSH.

Pokud vás zajímá klíčová autentizace SSH v Debianu 10, zde je k dispozici výukový program na toto téma.

Restartování serveru SSH za účelem použití změn

Aby se změny projevily, restartujte službu SSH a ujistěte se, že je správně restartována

$ sudo systemctl restart sshd
$ sudo systemctl status sshd

Pokud změníte výchozí port, ujistěte se, že změny byly správně aplikovány spuštěním jednoduchého příkazu netstat

$ netstat -tulpn | grep 2222

Připojování k vašemu serveru SSH

Chcete-li se připojit k vašemu serveru SSH, použijete příkaz ssh s následující syntaxí

$ ssh -p <port> <username>@<ip_address>

Pokud se připojujete přes síť LAN, ujistěte se, že jste získali místní IP adresu svého počítače pomocí následujícího příkazu

$ sudo ifconfig

Například, abych se připojil k mé vlastní instanci umístěné na 127.0.0.1, spustil bych následující příkaz

$ ssh -p 2222 <user>@127.0.0.1

Budete požádáni o zadání hesla a potvrzení správnosti pravosti serveru.

Ukončení vašeho serveru SSH

Chcete-li ukončit svůj SSH server na Debianu 10, můžete stisknout Ctrl + D nebo napsat „logout“ a vaše připojení bude ukončeno.

Deaktivace vašeho serveru SSH

Chcete-li deaktivovat server SSH na Debianu 10, spusťte následující příkaz

$ sudo systemctl stop sshd
$ sudo systemctl status sshd

Odtud již váš server SSH nebude přístupný.

Odstraňování problémů

V některých případech se můžete při pokusu o nastavení SSH serveru na Debianu 10 setkat s mnoha chybovými zprávami.

Zde je seznam běžných chyb, ke kterým můžete během nastavování dojít.

Debian:SSH připojení odmítnuto

Obvykle se tato chyba zobrazuje, protože váš firewall není v Debianu správně nakonfigurován.

Chcete-li vyřešit „SSH připojení odmítnuto“, musíte znovu zkontrolovat nastavení firewallu UFW.

Ve výchozím nastavení používá Debian UFW jako výchozí bránu firewall, takže možná budete chtít zkontrolovat pravidla brány firewall a zjistit, zda je správně povoleno SSH.

$ sudo ufw status

Status: active
 
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere

Pokud používáte iptables, můžete také zkontrolovat svá aktuální pravidla IP pomocí příkazu iptables.

$ sudo iptables -L -n

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh

Pokud pravidlo není nastaveno pro SSH, můžete jej nastavit opětovným spuštěním příkazu iptables.

$ sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Debian:Přístup SSH odepřen

Někdy vám může být odepřen přístup k vašemu SSH serveru s touto chybovou zprávou „SSH access denied“ na Debianu.

Řešení tohoto problému závisí na metodě ověřování, kterou používáte.

Přístup pomocí hesla SSH byl odepřen

Pokud používáte metodu hesla, znovu zkontrolujte heslo a ujistěte se, že je zadáváte správně.

Je také možné nakonfigurovat servery SSH tak, aby povolovaly pouze určitou podmnožinu uživatelů:v tomto případě se ujistěte, že patříte do tohoto seznamu.

Nakonec, pokud se chcete přihlásit jako root, ujistěte se, že jste upravili možnost „PermitRootLogin“ v souboru „sshd_config“.

#PermitRootLogin

PermitRootLogin yes

Přístup klíče SSH odepřen

Pokud pro ověřování SSH používáte klíče SSH, možná budete muset znovu zkontrolovat, zda je klíč správně umístěn v souboru „authorized_keys“.

Pokud si nejste jisti, jak to udělat, postupujte podle našeho průvodce o ověřování klíčem SSH v Debianu 10.

Debian:Nelze najít balíček openssh-server

V tomto případě se musíte ujistit, že jste správně nastavili své repozitáře APT.

Přidejte následující položku do svého souboru sources.list a aktualizujte své balíčky.

$ sudo nano /etc/apt/sources.list

deb http://ftp.us.debian.org/debian wheezy main

$ sudo apt-get update

Závěr

V tomto tutoriálu jste se naučili, jak můžete nainstalovat a nakonfigurovat SSH server na hostitelích Debianu 10.

Dozvěděli jste se také o základních možnostech konfigurace, které je třeba použít, abyste mohli provozovat bezpečný a robustní server SSH přes LAN nebo přes Internet.

Pokud vás zajímá administrace systému Linux, máme spoustu výukových programů na toto téma ve vyhrazené kategorii.


Debian
  1. Jak nainstalovat a nakonfigurovat OpenVPN Server na Debian 10

  2. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  3. Jak nainstalovat a nakonfigurovat VNC Server na Debian 10

  1. Jak nainstalovat a nakonfigurovat Squid Proxy na Debian 11

  2. Jak nainstalovat ProFTPD na Debian 8

  3. Jak nainstalovat MySQL Server na Debian 9

  1. Jak povolit SSH na Debianu 9 nebo 10

  2. Jak nainstalovat a nakonfigurovat VNC na Debian 9

  3. Jak nainstalovat Redis Server na Debian 11