Come usare SSH-Copy-ID su Ubuntu

Come usare SSH-Copy-ID su Ubuntu
Uno degli strumenti utili di SSH è SSH-Copy-ID che viene utilizzato per installare il tasto SSH sul server remoto per accedere al server senza fornire la password per l'accesso. Pertanto, l'accesso singolo e l'accesso automatizzato senza password utilizzando SSH possono essere implementati facilmente utilizzando questo strumento. Copia le chiavi pubbliche ai telecomandi ~/.ssh/autorizzatoFile _Keys creando il file e la directory se richiede, ma non modifica l'autorizzazione di qualsiasi file o cartella esistente. In questo tutorial è stato spiegato come il comando ssh-copy-ID per la connessione SSH.

Prerequisiti:

Prima di iniziare i passaggi di questo tutorial, saranno necessari i seguenti passaggi.

Abilita il servizio SSH su Ubuntu se non è abilitato prima.
Genera le coppie di tasti SSH per eseguire i comandi nel server remoto. Esegui il comando seguente per creare la chiave pubblica e la chiave privata. La chiave privata sarà archiviata nel server remoto e le chiavi pubbliche saranno archiviate in modo sicuro nel client.

$ ssh -keygen -t rsa

Eseguire il comando seguente per aprire il sshd_config File usando nano editor per aggiungere alcune configurazioni necessarie.

$ sudo nano/etc/ssh/sshd_config

Aggiungi le seguenti righe nel file per abilitare l'accesso root e l'autenticazione basata su password.

Passwordautenticazione Sì
Per altirootlogin Sì

Esegui il comando seguente per riavviare il servizio SSH.

$ sudo servizio ssh riavvio

Sintassi:

La sintassi del comando SSH-Copy-ID è riportata di seguito. Supporta più opzioni, che vengono spiegate in seguito.

ssh-copy-id [-lv] [-i keyfile] [-o opzione] [-p porta] [user@] hostname

Diverse opzioni di comando ssh-copy-ID:

Gli scopi dell'utilizzo di diverse opzioni di comandi SSH-Copy-ID sono stati descritti in questa parte del tutorial.

Opzione Scopo
-I Keyfile Viene utilizzato per copiare la chiave pubblica che viene archiviata in un file. Può essere usato più volte.
-l Viene utilizzato per copiare le chiavi attualmente detenute dall'agente SSH. Utilizza come impostazione predefinita se l'opzione -i non è specificata.
-O SSH-Option Viene utilizzato per passare l'opzione direttamente a SSH. Può essere usato più volte.
-P Porta Viene utilizzato per connettersi con la porta specificata sull'host remoto anziché la porta predefinita che è 22.
-v Viene utilizzato per passare il valore di -v a ssh.

Copia il tasto sul server:

È necessario autorizzare la chiave pubblica nella macchina del server per stabilire la connessione SSH senza utilizzare alcuna password. Dopo aver creato la chiave pubblica, il comando SSH-Copy-ID può aggiungere la chiave come chiave autorizzata sulla macchina del server.

Esegui il seguente comando dalla macchina del server per aggiungere qualsiasi chiave pubblica appena creata come chiave autorizzata del server.

$ ssh-copy-id fahmida@fahmida-virtualbox

Verrà visualizzato il seguente output se la chiave pubblica esiste già nel server remoto; Altrimenti, la chiave verrà aggiunta.

In precedenza è menzionato che l'opzione -I sia utilizzata con il comando ssh-copy-ID per aggiungere la chiave pubblica dal file. Se hai archiviato la chiave pubblica appena creata nel file predefinito, il nome del file sarebbe Id_Rsa.pub. Ma hai impostato qualsiasi nome di file durante la creazione delle coppie di tasti, quindi utilizzare quel fileName con l'opzione -I. Ho archiviato la chiave pubblica nel file predefinito.

Esegui il seguente comando dalla macchina del server per aggiungere la chiave pubblica alla macchina del server. Il comando copierà la chiave sul server e lo configurerà per aggiungere la chiave a autorizzato_keys File per accedere al server.

$ ssh-copy-id -i ~/.SSH/ID_RSA Fahmida@fahmida-virtualbox

Verrà visualizzato il seguente output se la chiave pubblica non si è aggiunta prima nella macchina del server.

Controlla la connessione:

Dopo aver aggiunto la chiave al server, è necessario verificare se la macchina client può connettersi con il server. Il nome utente della macchina del server è "fahmida" e la macchina client è "sì" qui. Quindi, accedi prima al computer client per testare la connessione.

Esegui il comando seguente per aggiungere l'identità del server al computer client.

$ ssh-add

Esegui il seguente comando SSH senza alcuna opzione per stabilire una connessione con la macchina del server. Se l'autenticazione basata su password è abilitata nella macchina del server, l'utente deve fornire una password valida per stabilire una connessione con il server.

$ ssh fahmida@fahmida-virtualbox

Il seguente output mostra che l'identità del server è stata aggiunta alla macchina client. Successivamente, la password dell'utente del server ha chiesto la connessione perché l'autenticazione basata su password è stata abilitata nella macchina del server qui. Il nome utente viene modificato in "Fahmida" dal "sì, nel prompt dei comandi che indica che la connessione è stata stabilita correttamente dopo aver fornito la password valida.

Se si desidera menzionare il nome file della chiave pubblica con la posizione per stabilire la connessione con il server, eseguire il seguente comando SSH con l'opzione -I. Richiederà se si memorizza la chiave pubblica nel nome file definito dall'utente. Ho usato il nome del file predefinito al momento della generazione della chiave che è ID_RSA.

$ ssh -i ~/.SSH/ID_RSA Fahmida@fahmida-virtualbox

Chiederà la password come prima di stabilire la connessione con il server. L'output mostra che la connessione è stata stabilita correttamente e il nome utente del prompt dei comandi è cambiato. È possibile modificare il file di configurazione del server per disabilitare l'autenticazione basata su password se non si desidera fornire una password ogni volta che si desidera connettersi con il server.

Conclusione:

Gli usi del comando SSH-Copy-ID per connettersi con l'host remoto sono stati descritti in questo tutorial utilizzando due account utente dell'host locale per aiutare i lettori a conoscere correttamente la funzione di questo comando.