GNU/Linux >> Linux Esercitazione >  >> Linux

Elementi essenziali di Rackspace Cloud:controlla l'impronta digitale dell'host SSH di un server con la console web

Secure Shell (SSH) utilizza un'impronta digitale generato con la chiave host del server univoca in modo che un client possa identificare il server. Ogni volta che l'impronta digitale dell'host cambia, SSH emette il seguente avviso:Impossibile verificare l'impronta digitale dell'host o è cambiata .

Quando si configura il server SSH, la chiave host viene generata in modo casuale. La chiave host identifica il server a cui ti stai connettendo ed è fondamentale per la sicurezza fornita da SSH. Se qualcuno imposta un programma per intercettare una connessione e ruba le credenziali di accesso (un uomo nel mezzo attacco), il client SSH fornisce solo un la chiave host è cambiata avviso.

Perché la chiave host potrebbe cambiare

Le spiegazioni per una chiave host modificata includono:

  • Ricompilare o aggiornare SSH.
  • Ricostruire il server.
  • Utilizzo di un indirizzo diverso per lo stesso host.

Nota: Quando il tuo sistema memorizza la chiave host, la registra per indirizzo, quindi anche se localhost e 127.0.0.1 punta allo stesso server, un client SSH presume che sia una voce diversa.

Tuttavia, non scartare la possibilità di un man-in-the-middle attaccare e controllare l'impronta digitale dell'host utilizzando la console Web del server senza utilizzare una connessione SSH.

Avviso:l'identificazione dell'host remoto è cambiata

Considera questo messaggio di errore:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /home/demo/.ssh/known_hosts to get rid of this message.
Offending key in /home/demo/.ssh/known_hosts:15
RSA host key for 1.2.3.4 has changed and you have requested strict checking.
Host key verification failed.

L'avviso indica quanto segue:L'impronta digitale che identifica il server SSH è diversa dall'ultima volta che ci si è connessi.

Controlla l'impronta digitale SSH del tuo server

Dovresti scrivere l'impronta digitale SSH del server in un file per assicurarti di connetterti al server giusto, specialmente quando ti connetti da più macchine o computer sconosciuti, come il desktop o il server da un client.

Se non disponi dell'impronta digitale dell'host, puoi utilizzare la console web nel pannello di controllo del cloud.

La console web ti consente di connetterti al tuo server come se ti stessi connettendo da una console seriale. Qualcosa che ti impedisce di connetterti con SSH non interferisce con la connessione della console seriale. Se hai bisogno di assistenza per aprire la console web, consulta questo articolo sulla sessione della console.

Se non hai un nome utente e una password da utilizzare (se hai disabilitato le password per tutti gli account, ad esempio), puoi utilizzare il Pannello di controllo di Cloud per reimpostare la password di root del server. Quindi, puoi accedere con le nuove credenziali.

Usa ssh-keygen

Dopo aver effettuato l'accesso al server, è possibile ottenere l'impronta digitale della chiave host. Esegui il seguente ssh-keygen comando contro la chiave pubblica del server:

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub

Il -l l'opzione elenca l'impronta digitale e -f /etc/ssh/ssh_host_rsa_key.pub opzione fornisce la posizione del file della chiave pubblica dell'host. Quella posizione è quella predefinita per i server Linux®, ma potrebbe essere necessario trovarla in una posizione diversa.

L'output è simile all'impronta digitale del tuo client SSH, come mostrato nell'esempio seguente:

2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /etc/ssh/ssh_host_rsa_key.pub (RSA)

Il primo numero indica la forza della chiave (in questo caso, 2048 bit). Segue l'impronta digitale, la posizione della chiave e il tipo di chiave (solitamente RSA).

Connetti a localhost con SSH

Un altro modo per ottenere la chiave pubblica consiste nel connettersi al server SSH utilizzando SSHclient dall'interno del server. Accedi alla console web e poi usa ssh comando:

ssh localhost

Se ti connetti con SSH a localhost per la prima volta, viene visualizzato un avviso. L'avviso mostra l'impronta digitale della chiave RSA:

The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

Se non ti connetti a localhost per la prima volta, segui i passaggi seguenti per cancellare la chiave memorizzata:

  1. Vai a .ssh directory nel tuo account:

    cd ~/.ssh
    
  2. Modifica gli host_noti file, eliminando la riga che inizia con localhost .

  3. Salva il file.

Riprova la connessione. Questa volta dovresti vedere l'impronta digitale.

Nota :annota l'impronta digitale per conservare un record e utilizzarla per il resto di questo articolo.

Completa la connessione

Confronta l'impronta digitale ottenuta con quella visualizzata quando ti connetti in remoto al server. Se sono uguali, la connessione è valida. In caso contrario, disconnettersi dalla rete e provare la connessione da un altro posto. Se differiscono ancora, contatta l'assistenza.

La chiave host è cambiata

Se ricevi un l'impronta digitale non corrisponde a ciò che il cliente si aspettava avviso, utilizzare le seguenti istruzioni per modificare l'elenco degli host conosciuti nel computer client prima di connettersi al server.

Linux e macOS X

Su Linux, macOS® X e altri sistemi operativi basati su Unix®, usi ssh comando per connettersi a un server tramite SSH. Il ~/.ssh/known_hosts contiene le chiavi host SSH conosciute.

Potresti vedere un host_noto2 file al posto di o in aggiunta a known_hosts . Se esistono entrambi i file, il sistema utilizza known_hosts2 quando effettui una connessione.

Esegui i seguenti passaggi dopo aver identificato il file:

  1. Apri il file.

  2. Trova la riga che inizia con l'indirizzo IP o il nome di dominio del server. La voce per l'indirizzo IP 1.2.3.4 appare come nell'esempio seguente:

     1.2.3.4 ssh-rsa AAAAB3NzaC1yc2EAAAABIwGAAQEA2Km5iIlopDndzSTbiaQZq8ynh8RPrvzBJ7dICnvAZWuH/YeNO+9DPnngzsOiYazwRD/CRSGEGRY6tS3GLclFO3Ae370aafbcq...
    
  3. Elimina la linea.

  4. Salva il file.

La prossima volta che effettui una connessione, controlla l'impronta digitale dell'host prima di completare la connessione.

Finestre e PuTTY

Per i server Windows®, considera l'utilizzo di PuTTY®. Se utilizzi un altro programma, controlla la documentazione dell'utente per trovare dove il client memorizza le sue chiavi host conosciute.

Nota: Sono necessari i diritti di amministratore sul computer client per modificare il registro.

Nota: Modifica il registro con cautela.

PuTTY memorizza le sue chiavi host nel registro di Windows. Esegui i seguenti passaggi per trovare le chiavi host conosciute:

  1. Vai a Finestre menu e inserisci regedit nella Ricerca o Esegui casella.

  2. Windows organizza il registro come una gerarchia di cartelle, quindi trova la seguente cartella:

    HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
    
  3. Nella cartella, trova una o più voci con l'indirizzo IP del server a cui ti stai connettendo. L'esempio seguente mostra una chiave crittografata RSA versione 2 sulla porta 22, indirizzo IP 1.2.3.4 :

    rsa2@22:1.2.3.4
    
  4. Fai clic con il pulsante destro del mouse sulla voce e seleziona Elimina dal menu contestuale. Dopo aver ricevuto un Modificare il registro può causare problemi avviso, confermare l'azione.

  5. Esci dall'editor del registro.

Quando provi la connessione SSH, dovresti ricevere un La chiave host del server è sconosciuta avviso insieme all'impronta digitale. Assicurati che questa impronta digitale e quella ottenuta dalla webconsole corrispondano prima di accettare la connessione.

Riepilogo

Questo articolo descrive come ottenere l'impronta digitale della chiave host di un server. Prendi in considerazione la possibilità di conservare le impronte digitali della chiave host dei server a cui ti connetti in un luogo sicuro. Puoi fare riferimento a quelle chiavi ogni volta che hai bisogno di escludere un man-in-the-middle attacco, soprattutto quando si utilizzano più client. Vedere Nozioni di base sulla sicurezza in un sistema Linux per ulteriori riferimenti.

Utilizza la scheda Feedback per inserire commenti o porre domande. Puoi anche avviare una conversazione con noi.


Linux
  1. Controlla la cronologia degli accessi sul tuo server

  2. Console di emergenza del server cloud

  3. Presentazione del pannello di controllo di Rackspace Cloud

  4. Risolvi i problemi di nova-agent o Rackspace Cloud Server Agent

  5. Utilizzo del client python-nova con Rackspace Cloud Server

Come ospitare un sito Web su NGINX Web Server

Controlla lo stato di Rackspace Cloud

Rackspace Cloud Essentials - Scegli il server cloud delle giuste dimensioni

Funzionalità di Rackspace Cloud Servers che non sono disponibili su Fortigate-VM

Come proteggere SSH con Fail2Ban

controlla se il file esiste sull'host remoto con ssh