Come usare ssh-keyscan su ubuntu

Come usare ssh-keyscan su ubuntu
SSH-Keyscan è uno strumento molto utile per raccogliere le chiavi pubbliche disponibili di più numeri di host. Lo scopo principale di questo strumento è verificare il noto_hosts File. L'I/O socket non bloccante viene utilizzato da questo strumento per connettersi con il numero massimo di host in parallelo. Le informazioni chiave del gran numero di host possono essere rapidamente la raccolta utilizzando questo strumento in cui alcuni di essi possono essere giù o non utilizzando SSH. SSH-Keyscan non richiede l'accesso alle macchine da cui verrà scansionata la chiave.

Sintassi:

La sintassi di SSH-Keyscan ha dato di seguito. Supporta più opzioni per scansionare i tasti.

ssh-keyscan [-46chv] [-f file] [-p porta] [-t timeout] [-t type] [host | Namelist di Addrlist] ..

La diversa opzione di SSH-Keysan:

Gli scopi dell'utilizzo di diverse opzioni ssh-keyscan sono descritti di seguito.

Opzione Scopo
-4 Viene utilizzato per forzare SSH-Keyscan per l'utilizzo solo degli indirizzi IPv4.
-6 Viene utilizzato per forzare SSH-Keyscan per l'utilizzo solo degli indirizzi IPv6.
-C Viene utilizzato per richiedere certificati dagli host di destinazione.
-F del file Viene utilizzato per recuperare le coppie di host o "namelist addrlist" dal file.
-H È usato per hash tutti i nomi e gli indirizzi host nell'output.
-P Porta Viene utilizzato per collegare l'host remoto con una porta particolare.
-T timeout Viene utilizzato per impostare il timeout per i tentativi di connessione. Il valore timeout predefinito 5.
-Tipo T Viene utilizzato per definire il tipo di chiave che verrà recuperato dagli ospiti scansionati. I valori di tipo possono essere RSA, DSA, ECDSA, ecc.
-v Viene utilizzato per stampare messaggi di debug sullo stato di avanzamento della scansione.

Le opzioni più comunemente utilizzate del comando ssh-keyscan hanno mostrato nella parte successiva di questo tutorial.

Prerequisiti:

Prima di iniziare la parte successiva di questo tutorial, è necessario creare una o più coppie di tasti SSH per testare i comandi utilizzati in questo tutorial. Completa i seguenti passaggi prima di eseguire qualsiasi comando ssh-keyscan.

  1. Abilita il servizio SSH su Ubuntu se non è abilitato prima. Due account utente locali di Ubuntu sono stati utilizzati qui come macchina client e macchina server.
  2. Genera le più coppie di tasti SSH sulla macchina del server utilizzando il ssh-keygen comando che crea la chiave pubblica e la chiave privata. Le chiavi private sono archiviate nel server remoto e le chiavi pubbliche sono memorizzate in modo sicuro nel client.
  3. Successivamente, aggiungi le chiavi pubbliche alla macchina client.

Esegui SSH-Keyscan in diversi modi per scansionare le chiavi:

È necessario accedere alla macchina client per controllare i comandi ssh-keyscan utilizzati in questo tutorial. All'inizio, esegui quanto segue ssh-keyscan comando senza alcuna opzione per leggere tutte le chiavi pubbliche dall'indirizzo IP 10.0.2.15. L'output del comando può variare in base all'indirizzo IP o al nome host utilizzato nel comando. Poiché non è stato definito alcun tipo di chiave nel comando, recupererà tutte le chiavi trovate durante la scansione.

$ ssh-keyscan 10.0.2.10

L'output mostra che le diverse chiavi sono scansionate dal comando sopra, come RSA, ECDSA ed ED25519.

Eseguire quanto segue ssh-keyscan Comando con l'opzione -P di leggere tutte le chiavi pubbliche dall'indirizzo IP 10.0.2.15 alla porta numero 22. Come il comando precedente, l'output del comando può variare in base all'indirizzo IP o al nome host utilizzato nel comando.

$ ssh -keyscan -p 22 10.0.2.15

L'output mostra i diversi tasti che sono stati scansionati al numero 22 dal comando sopra. Tutti i comandi ssh-keyscan in questo tutorial sono stati eseguiti nel server locale che supporta solo la porta numero 22. Quindi, l'output del comando ssh -keyscan senza alcuna opzione e con l'opzione -p è la stessa.

Eseguire quanto segue ssh-keyscan comando con il -t Opzione per leggere tutte le chiavi pubbliche del RSA Digita dall'indirizzo IP 10.0.2.15. Come il comando precedente, l'output del comando può variare in base all'indirizzo IP o al nome host utilizzato nel comando. Tutti i tipi di chiavi pubbliche sono stati recuperati dal particolare indirizzo IP nei due comandi precedenti. Ma l'output del comando utilizzato qui recupererà solo tutte le informazioni relative a RSA.

$ ssh -keyscan -t rsa 10.0.2.15

Il seguente output mostra che ce n'è uno RSA Chiave pubblica che esiste nell'indirizzo IP, 10.0.2.15.

Se vuoi aggiornare il noto_hosts File con l'impronta digitale del nome host particolare o dell'indirizzo IP, è necessario al -H Opzione con la ssh-keyscan comando. Esegui il comando seguente per aggiornare il noto_hosts File situato nel percorso, ~/.ssh/know_hosts, con l'impronta digitale scansionata che si trova nell'indirizzo IP, 10.0.2.15.

$ ssh -keyscan -h 10.0.2.15 >> ~/.ssh/noto_hosts

Il seguente output mostra che cinque voci sono state aggiunte in noto_hosts file.

Le opzioni multiple possono essere utilizzate con il comando ssh-keyscan. Eseguire il comando seguente per recuperare il RSA chiavi dal noto_hosts file e invia l'output a ordinare comando di stampare i valori ordinati univoci del RSA tasti. In questo sono state utilizzate due opzioni ssh-keyscan comando. IL -T L'opzione è stata utilizzata per recuperare il RSA tasti e il -F L'opzione è stata utilizzata per recuperare le chiavi da noto_hosts file. Il tubo (|) ha usato il comando per inviare il recuperato RSA chiavi dal file al comando ordinamento.

$ ssh -keyscan -t rsa -f ~/.ssh/noto_hosts | ordina -u ~/.ssh/noto_hosts

Il seguente output mostra che quattro tasti RSA sono stati recuperati dal file noto_hosts e le chiavi sono state stampate in ordine ordinato.

Conclusione:

I diversi modi di scansionare le chiavi pubbliche dalla macchina client utilizzando il comando ssh-keyscan sono stati descritti in questo tutorial con i due conti locali del localhost. Puoi seguire lo stesso processo per la scansione delle chiavi pubbliche dell'host remoto.