Skip to Content
🔥 Nová dokumentace BlazeHost.cz je online — prohlédnout

SSH nefunguje

SSH je jediná cesta k Linux VPS — dokud nepřestane fungovat. Naštěstí existuje záchranná cesta.

Záchranná brzda: VNC konzole

V Convoyi máš VNC konzoli, která funguje nezávisle na SSH, firewallu i síti. Přes ni se dostaneš na server vždy, i když sis SSH úplně rozbil.

Diagnostika podle chyby

HláškaPříčinaŘešení
Connection refusedSSH démon neběží nebo jiný portsystemctl status ssh přes VNC
Connection timed outFirewall blokuje, špatná IPZkontroluj ufw
Permission denied (publickey)Server nepřijímá heslo, chybí klíčNahraj klíč přes VNC
Host key verification failedZměnil se otisk (reinstall)ssh-keygen -R IP
Too many authentication failuresKlient nabízí moc klíčůIdentitiesOnly yes

Connection refused

SSH služba neběží. Přes VNC konzoli (na Rocky/AlmaLinux je služba sshd, ne ssh):

sudo systemctl status ssh sudo systemctl start ssh sudo systemctl enable ssh # Na kterem portu naslouchá? sudo ss -tulpn | grep sshd

Connection timed out

Blokuje firewall.

# Přes VNC konzoli sudo ufw status sudo ufw allow OpenSSH

Klasická past: sudo ufw enable bez předchozího sudo ufw allow OpenSSH. Sám sebe okamžitě odřízneš. Pravidlo pro SSH vždy přidej jako první.

Permission denied (publickey)

Server má vypnuté přihlášení heslem a tvůj klíč nepřijímá.

Přihlas se přes VNC konzoli

Zkontroluj práva

ls -ld ~/.ssh ls -l ~/.ssh/authorized_keys

Musí být 700 a 600.

chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

Zkontroluj obsah

cat ~/.ssh/authorized_keys

Klíč musí být na jednom řádku a začínat ssh-ed25519 nebo ssh-rsa.

Zkontroluj konfiguraci

sudo grep -E "PubkeyAuthentication|PasswordAuthentication|PermitRootLogin" /etc/ssh/sshd_config

Špatná práva na ~/.ssh jsou nejčastější příčina Permission denied s platným klíčem. SSH takový klíč z bezpečnostních důvodů ignoruje — a v běžném výstupu ti to neřekne.

Podrobný výstup

Řádky debug1: Offering public key a následná odpověď serveru ti řeknou, který klíč se nabízí a proč byl odmítnut.

Na serveru současně sleduj:

sudo journalctl -u ssh -f

Host key verification failed

Po reinstallu se změní otisk serveru.

ssh-keygen -R 11.22.33.44

Pokud jsi server nereinstaloval a otisk se změnil, nepřipojuj se. Může jít o pokus o odposlech. Ověř otisk v panelu.

Fail2ban tě zablokoval

# Přes VNC sudo fail2ban-client status sshd sudo fail2ban-client set sshd unbanip 89.24.1.2

Když nic nepomůže

Poslední možnost je reinstall. Předtím si přes VNC konzoli stáhni data, například přes scp z běžícího systému.

Tipy

  • Nikdy nezavírej fungující SSH relaci, dokud v druhém okně neověříš změnu konfigurace.
  • Před úpravou sshd_config spusť sudo sshd -t pro kontrolu syntaxe.

Poznámka

Změna portu SSH není bezpečnostní opatření, jen sníží šum v logu. Chrání klíče a firewall.

Související články