Tutoriel Linux

Restartování SSH v Ubuntu: příkaz, který je třeba použít, a kontroly, které je třeba provést

Débutant6 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Restartování SSH v Ubuntu je jednoduchý příkaz. Problém je v tom, že často ovlivňuje právě službu, která vám umožňuje přístup k serveru.

Na lokálním počítači je riziko nízké. Na VPS nebo vzdáleném serveru raději před stisknutím klávesy Enter zkontroluji několik věcí. Špatná konfigurace, zapomenutý port ve firewallu nebo záměna mezi… ssh A sshda možná se ocitnete v situaci, kdy hledáte záložní konzoli.

Ubuntu server s Linuxem, zabezpečeným SSH připojením a restartem služby

Příkaz pro restart SSH v Ubuntu

V Ubuntu a Debianu se serverová služba OpenSSH obvykle nazývá sshNejpřímější příkaz tedy zní:

sudo systemctl restart ssh

Ihned poté ověřte, zda se služba vrátila do aktivního stavu:

sudo systemctl status ssh --no-pager

Můžete také provést kratší kontrolu, což je výhodné ve skriptu nebo rychlé relaci:

systemctl je aktivní ssh

Pokud je odpověď aktivníSlužba je spuštěna. Pokud se vám to podaří nepodařilo, neaktivní nebo chybu „jednotka nenalezena“, neukončujte aktuální relaci, dokud nepochopíte proč.

Před vypnutím služby otestujte konfiguraci.

Pokud jste upravili /etc/ssh/sshd_configNejprve otestujte konfiguraci. Toto je kontrola, kterou vždy provádím před vzdáleným restartem přes SSH:

sudo /usr/sbin/sshd -t

Pokud příkaz nic nevrátí, je to dobré znamení. Pokud se zobrazí chyba, opravte soubor před restartováním SSH. Pro explicitní test hlavního souboru:

sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config

Tento test nezaručuje, že váš firewall nebo poskytovatel cloudových služeb podporuje port SSH, ale zabrání vám v restartu démona s neplatnou konfigurací. Je jednoduchý, rychlý a může vám ušetřit zásahy přes příkazový řádek.

Restart nebo restart: co si vybrat?

Pro použití změny konfigurace SSH není vždy nutné provést úplný restart. Pokud to služba umožňuje, je opětovné načtení méně rušivé:

sudo systemctl reload ssh

V praxi používám znovu načíst pro čistou změnu konfigurace po sshd -t Ověřeno. Používám restartovat když je služba blokována, po aktualizaci OpenSSH nebo když chci začít znovu z čistého stavu.

Chcete-li zjistit, co systemd ví o vašem počítači, je užitečný tento příkaz:

seznam-souborů-jednotek systemctl 'ssh*'

V některých zařízeních se můžete setkat i s ssh.socketV tomto případě zkontrolujte jeho stav, než se čehokoli dotknete:

sudo systemctl status ssh.socket --no-pager

Abyste porozuměli příkazům systemd bez záměny za službu, opětovné načtení a restart, můžete si také znovu přečíst našeho průvodce. užitečné příkazy systemctl před náhodným restartem.

Ověřte, zda SSH port stále naslouchá.

Služba může být aktivní, ale SSH může naslouchat na jiném portu, než který používáte. V typickém systému Ubuntu je port často dvacet dva, ale toto není absolutní pravidlo.

Chcete-li zkontrolovat, které porty naslouchají:

sudo ss -ltnp | grep ':22'

Pokud jste v konfiguraci SSH změnili port, zeptejte se OpenSSH, co vlastně používá:

sudo /usr/sbin/sshd -T | grep '^port'

Chcete-li se do tohoto tématu ponořit hlouběji, přečtěte si článek o netstat, ss a otevřené porty v Linuxu nabízí komplexnější metodu.

Zvažte také svůj lokální firewall. S UFW je ověření okamžité:

Podrobný popis stavu příkazu sudo ufw

Pokud SSH naslouchá na portu 2222, ale firewall povoluje pouze port 22, může být služba plně funkční, ale zvenčí nepřístupná. Totéž platí, pokud váš poskytovatel hostingu nastaví firewall nebo bezpečnostní skupinu proti proudu.

Pokud se restart nezdaří, zkontrolujte protokoly

Li Stav systemctl ssh indikuje chybu; začněte kontrolou servisních protokolů:

sudo journalctl -u ssh -b --no-pager | velikost -50

Během opakovaného pokusu můžete také sledovat živé zprávy:

sudo journalctl -u ssh -f

Nejčastější chyby jsou celkem zřejmé: neznámá možnost v sshd_config, port je již používán, chybějící klíč hostitele, nesprávné oprávnění k souboru nebo direktiva umístěná na nesprávném místě.

Pokud potřebujete rozšířit pokrytí sítě po změně sítě nebo restartu serveru, řiďte se pokyny k journalctl a protokoly posledního spuštění Linuxu vám pomůže vyřešit chyby bez nutnosti číst celý systémový protokol.

Bezpečnostní opatření, která je třeba dodržovat na vzdáleném serveru

Pokud jste k počítači, který chcete upravovat, připojeni přes SSH, nechte relaci otevřenou. Před restartem služby otevřete i druhou relaci:

ssh uživatel@adresa-serveru

Po restartu zkuste nové připojení z jiného terminálu. Pokud nové připojení funguje, můžete to staré ukončit. Pokud selže, stará relace by vás mohla stále zachránit.

Na produkčním serveru také ověřte, zda máte u svého poskytovatele hostingu záložní konzoli. To je obzvláště důležité, pokud současně upravujete SSH port, UFW, statickou IP adresu nebo konfiguraci sítě. To druhé naleznete v článku o pevná IP adresa v Debianu dává stejné opatrné reflexy na straně sítě.

Kdy je lepší OpenSSH znovu přeinstalovat, než restartovat počítač

Restartování je dostačující, pokud je služba nainstalována, konfigurace je platná a problém je dočasný. Pokud však jednotka ssh.service neexistuje, pokud chybí balíček OpenSSH Server nebo pokud byl server příliš důkladně vyčištěn, musíte instalaci spustit znovu.

V tomto případě nevynucujte restarty ve smyčce. Nejprve zkontrolujte balíček:

dpkg -l | grep openssh-server

Pokud se nic nehlásí, opakujte příslušný postup: Čistá přeinstalace SSH na UbuntuRestartování neběžící služby nic nevyřeší.

Moje rychlá metoda před ověřením

Když potřebuji použít SSH na Ubuntu, držím se jednoduchého postupu: otestuji konfiguraci, pokud možno znovu načtu, v případě potřeby restartuji, poté zkontroluji port, firewall a nové připojení.

sudo /usr/sbin/sshd -t
sudo systemctl reload ssh
sudo systemctl status ssh --no-pager
sudo ss -ltnp | grep ':22'
Podrobný popis stavu příkazu sudo ufw

Pokud pracujete na dálku, neukončujte aktivní relaci, dokud nebude otestováno nové SSH připojení. Toto je pravděpodobně nejméně dramatický tip v článku, ale je to ten, který předchází těm nejnepříjemnějším překvapením.

Oficiální stránky Ubuntu na OpenSSHServer, dokumentace systemctlmanuálové stránky sshd A sshd_config, stejně jako dokumentace UFWToto jsou dobré výchozí body, pokud potřebujete zdokumentovat proceduru serveru.

sudo apt update && sudo apt upgrade