Introduzione
Il server SSH ha abilitato per impostazione predefinita il controllo rigoroso della chiave dell'host. Quando il controllo della chiave è abilitato, il client SSH connette solo quegli host, le cui chiavi host valide sono memorizzate nel file dell'host noto. Puoi trovare la chiave nel file ~/.ssh/known_hosts
.
Una volta che sei connesso a un tempo di file host remoto tramite SSH, i client SSH controllano il file della chiave host sotto il file unknown_hosts. Se la chiave viene trovata, verrai connesso a un server remoto dopo l'autenticazione, ma se la chiave non viene trovata nel file unknown_hosts, il comando mostrerà un messaggio di avviso e un prompt per accettare o rifiutare la richiesta di connessione. Una volta accettato il digitando "yes", la chiave viene aggiunta nel file unknown_hosts.
Ecco un esempio di comando:
ssh ubuntu@remote-host
The authenticity of host 'remote-host (123.45.67.89)' can't be established.
RSA key fingerprint is 9f:48:89:f5:68:2f:cd:b3:19:95:40:43:98:09:0a:1a.
Are you sure you want to continue connecting (yes/no)?
Ma in alcune situazioni, come gli script di shell, è necessario disabilitare il controllo dell'host. Continua a leggere questo articolo per capire come disabilitare il controllo dell'host nei client SSH sui sistemi Linux.
Disabilitare il controllo con il comando SSH
È possibile definire l'argomento StrictHostKeyChecking=no
della riga di comando per il comando ssh per saltare il controllo della chiave dell'host.
ssh -o StrictHostKeyChecking=no user@remote-host
Utilizzare il file di configurazione
È inoltre possibile definire le stringhe per disabilitare il controllo della chiave host nel file di configurazione. È necessario creare un file ~/.ssh/config
e disabilitare il controllo della chiave host aggiungendo il seguente contenuto:
vi ~/.ssh/config
Host *
StrictHostKeyChecking no
Questo disabiliterà il controllo dell'host per tutti gli host a cui ti connetti. Piuttosto che disabilitare il controllo host per tutti gli host "*", sarebbe più sicuro specificare un host particolare:
Host 192.168.1.10
StrictHostKeyChecking no
Inoltre, imposta le autorizzazioni appropriate sul file per renderlo di sola lettura per l'utente:
sudo chmod 400 ~/.ssh/config
Questo è tutto. Hai disabilitato con successo il controllo rigoroso della chiave host in SSH.
Conclusione
In questo tutorial, hai imparato come disabilitare il controllo rigoroso della chiave dell'host durante la connessione della chiave ssh a un host remoto.