SYSADMIN JOURNAL / Linux · Networking · Security · HostingProcedure, appunti e soluzioni tecniche
Linux

Debian 5 verso OpenSSH moderno: risolvere gli algoritmi KEX legacy senza aprire SSH a tutti

Pubblicato il 12/11/2026

Guida basata su interventi documentati. Una correzione per consentire la connessione di un client SSH molto vecchio a un server Ubuntu, limitando rigorosamente l'esposizione di algoritmi legacy.

Scenario confermato

Un client Debian 5 doveva connettersi a un host Ubuntu moderno. La negoziazione non riusciva per incompatibilità tra gli algoritmi di scambio chiavi e le cipher suite supportate. La macchina sorgente non poteva essere aggiornata immediatamente.

Diagnosi prima di cambiare la sicurezza

ssh -vvv utente@HOST_DI_TEST
sshd -T | grep -Ei 'kexalgorithms|ciphers|pubkeyacceptedalgorithms'
sshd -t
ufw status numbered

Registrare l’errore esatto della negoziazione: no matching key exchange method è diverso da un problema di chiave host o password.

Dove mettere le direttive

Il problema di configurazione verificato era il posizionamento di direttive come KexAlgorithms, Ciphers e accettazione delle chiavi ssh-rsa dentro un blocco Match che non le supportava. Queste opzioni vanno applicate in un contesto consentito dal parser di sshd_config. Non riabilitare automaticamente algoritmi insicuri a livello globale.

Ridurre la superficie di attacco

La soluzione transitoria ha vincolato l'accesso SSH all'indirizzo sorgente autorizzato tramite UFW. È preferibile, se possibile, usare un jump host aggiornato che parli un protocollo moderno verso il server finale, evitando di esporre a Internet gli algoritmi obsoleti.

Collaudo

sshd -t
systemctl reload ssh
ufw status verbose
# Test di accesso da sorgente autorizzata e negata
ssh -vvv utente@HOST_DI_TEST

La verifica della sintassi deve precedere ogni reload. Conservare una sessione amministrativa già aperta per recuperare eventuali errori.

Conclusione

La compatibilità legacy è una misura temporanea con rischio crittografico. La soluzione definitiva è aggiornare il client o predisporre un gateway controllato.

Articoli correlati

Usare segnaposto e verificare l’ambiente prima di eseguire i comandi. Nessuna credenziale o identificativo infrastrutturale reale è riportato.