Skip to main content
  1. Lab-devsec/

Recupero accesso SSH - Hetzner Rescue

·3 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Tipo: real Trigger: SSH Connection refused su tutte le porte configurate, accesso console TTY disponibile Severity: High Tempo stimato: 30–60 minuti MITRE ATT&CK:

Scenario
#

Il server risponde (servizi attivi, es. n8n funzionante), ma SSH dà Connection refused su tutte le porte. La causa più comune è ssh.service in stato disabled — il servizio non riparte dopo un reboot. Possibile trigger: apt upgrade che sovrascrive sshd_config o resetta lo stato del servizio.

1. Triage — Cosa guardo subito
#

  • Verifica che il server risponda (ping, servizi HTTP)
  • Testa SSH su tutte le porte configurate:
ssh -v barno@IP -p 2222 -i ~/.ssh/id_ed25519
ssh -v barno@IP -p 22 -i ~/.ssh/id_ed25519
  • Se Connection refused su tutto → accedi alla console TTY da Hetzner
  • Abilita Rescue Mode da pannello Hetzner e riavvia

2. Procedura Rescue — Montare il disco
#

Una volta nel rescue (root@rescue), il disco del server reale è visibile ma non montato.

# Verifica layout dischi
lsblk -f

# Il disco principale è già montato su /mnt/system (Hetzner lo fa in automatico)
# Se non lo fosse:
mount /dev/sda1 /mnt/system
Important

Tutto quello che modifichi in root@rescue senza chroot tocca solo il sistema rescue in RAM, NON il tuo Ubuntu reale su disco.

Entra nel sistema reale via chroot:

chroot /mnt/system /bin/bash

Ora sei dentro il tuo Ubuntu come se fossi in locale.

3. Analisi — Cosa cerco
#

# Controlla la config SSH
cat /etc/ssh/sshd_config | grep -E "Port|PasswordAuth|PubkeyAuth|PermitRoot|KbdInteractive"

# Verifica utenti e chiavi
cat /home/barno/.ssh/authorized_keys
ls -la /home/barno/.ssh/

Problemi comuni trovati:

ProblemaSintomoFix
ssh.service disabledConnection refused dopo rebootsystemctl enable ssh
KbdInteractiveAuthentication noPassword rifiutata silenziosamenteCambiare a yes o usare chiave
Porta rimossa da configConnection refused su porta specificaAggiungere Port XX in sshd_config

4. Fix — Dentro il chroot
#

# Modifica sshd_config
nano /etc/ssh/sshd_config

Configurazione finale sicura:

Port 2222
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
Warning

Prima di disabilitare PasswordAuthentication, verifica sempre che la chiave SSH funzioni da un secondo terminale aperto in parallelo.

# Reset password utente (dentro chroot)
passwd barno

# Verifica sintassi config
sshd -t

5. Uscita dal Rescue e verifica
#

# Esci dal chroot
exit

# Da pannello Hetzner: disabilita Rescue Mode e riavvia

Dopo il reboot, dal server reale:

# Abilita SSH permanente (parte sempre dopo reboot)
sudo systemctl enable ssh
sudo systemctl restart ssh

# Verifica stato
sudo systemctl status ssh

Test finale dal Mac:

ssh barno@IP -p 2222 -i ~/.ssh/id_ed25519_hetzner

6. Hardening post-accesso
#

# Controlla accessi riusciti
sudo journalctl -u ssh | grep "Accepted"

# Controlla tentativi falliti
sudo lastb -20
sudo last -20

# Verifica unità in errore
systemctl list-units --failed

# Password root robusta (20+ caratteri, salvata nel password manager)
sudo passwd root
Tip

Tieni sempre aperto un secondo terminale SSH mentre modifichi sshd_config. Se qualcosa va storto, hai ancora accesso per correggere.

Falsi positivi possibili
#

  • I tentativi di login da IP esteri in lastb sono quasi sempre bot automatici che scansionano internet — non sono hack se tutti i tentativi sono falliti
  • La riga ssh.service disabled non significa che SSH non funziona ora, ma che non si avvia automaticamente al boot

IoC identificati
#

Nessuno — non è stato rilevato accesso non autorizzato. Tutti i login in last provenivano da IP italiani dell'utente.

Causa root
#

ssh.service in stato disabled — probabilmente impostato così durante la configurazione iniziale del server o dopo un apt upgrade. Il servizio non ripartiva automaticamente dopo i reboot.

Collegato a
#

  • ssh — servizio coinvolto
  • systemctl — usato per enable/restart/status
  • passwd — reset password utente e root
  • system — categoria

Related