GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come usare ssh-copy-id su Ubuntu

Uno degli utili strumenti di SSH è ssh-copy-id che viene utilizzato per installare la chiave SSH sul server remoto per accedere al server senza fornire la password di accesso. Il single sign-on e l'accesso automatizzato senza password tramite SSH possono essere facilmente implementati con questo strumento. Copia le chiavi pubbliche in quelle dell'host remoto ~ / .ssh / autorizzato _keys creando il file e la directory in base alle esigenze, ma non modifica le autorizzazioni di un file o una cartella esistente. In questo tutorial è stato spiegato come utilizzare il comando ssh-copy-id per la connessione SSH.

Requisiti:

Prima di iniziare i passaggi di questo tutorial, devi completare i passaggi seguenti.

Abilita il servizio SSH su Ubuntu se non è stato precedentemente abilitato.
Genera le coppie di chiavi SSH per eseguire i comandi sul server remoto. Eseguire il comando seguente per creare la chiave pubblica e la chiave privata. La chiave privata è archiviata sul server remoto e le chiavi pubbliche sono archiviate in modo sicuro nel client.

$ ssh-keygen -T rsa

Esegui il comando seguente per aprire sshd_config File con l'editor nano per aggiungere alcune configurazioni necessarie.

$ sudo Nano /Etc/ssh/sshd_config

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

Autenticazione password Sì signore

PermitRootLogin Sì signore

Esegui il comando seguente per riavviare il servizio SSH.

$ sudo service ssh ricomincia

Sintassi:

La sintassi del comando ssh-copy-id è mostrata di seguito. Supporta diverse opzioni che verranno spiegate in seguito.

ssh-copy-id [-lv] [-i file chiave] [-o opzione][-p porta] [utente@]Nome host

Varie opzioni del comando ssh-copy-id:

Lo scopo dell'utilizzo di diverse opzioni dei comandi ssh-copy-id è stato descritto in questa parte del tutorial.

opportunità scopo
-i file di chiavi Viene usato per copiare la chiave pubblica che si trova in un file . Può essere utilizzato più volte.
-l Viene usato per copiare le chiavi che l'agente ssh ha attualmente. Viene utilizzato come predefinito quando l'opzione -i non è specificata.
-o ssh opzione È usato per fare riferimento direttamente all'opzione. trasmettere ssh. Può essere utilizzato più volte.
porta -p Viene utilizzato per connettersi alla porta specificata sull'host remoto anziché alla porta predefinita 22.
-v Viene usato per passare il valore di -v a ssh.

Copia la chiave sul server:

È necessario autorizzare la chiave pubblica nel computer server per stabilire la connessione SSH senza utilizzare una password. Dopo aver creato la chiave pubblica, il comando ssh-copy-id può aggiungere la chiave come chiave autorizzata sul computer server.

Esegui il comando seguente sul computer server per aggiungere una chiave pubblica appena creata come chiave autorizzata del server.

$ ssh-copy-id fahmida@fahida-VirtualBox

Vedrai il seguente output se la chiave pubblica esiste già sul server remoto; altrimenti viene aggiunta la chiave.

È stato menzionato in precedenza che l'opzione -i viene utilizzata con il comando ssh-copy-id per aggiungere la chiave pubblica dal file. Se hai salvato la chiave pubblica appena creata nel file predefinito, il nome del file è id_rsa.pub . Tuttavia, hai specificato un nome file a tua scelta durante la creazione delle coppie di chiavi e quindi hai utilizzato quel nome file con l'opzione -i. Ho salvato la chiave pubblica nel file predefinito.

Eseguire il comando seguente sul computer server per aggiungere la chiave pubblica al computer server. Il comando copia la chiave sul server e la configura per aggiungere la chiave alle chiavi_autorizzate File per accedere al server.

$ ssh-copy-id -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

Vedrai il seguente output se la chiave pubblica non è stata aggiunta in precedenza sul computer server.


Verifica la connessione:

Dopo aver aggiunto la chiave al server, è necessario verificare che la macchina client possa connettersi al server. Il nome utente del computer server è "fahmida" e il computer client è "yesmin" 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-aggiungi

Esegui il seguente comando ssh senza opzioni per la connessione al computer server. Se l'autenticazione basata su password è abilitata sul computer server, l'utente deve inserire una password valida per connettersi al server.

$ ssh fahmida@fahida-VirtualBox

L'output seguente mostra che l'identità del server è stata aggiunta alla macchina client. Successivamente, la password dell'utente del server ha richiesto la connessione, poiché l'autenticazione basata su password è stata attivata nel computer server. Il nome utente viene modificato da "yesmin" a "fahmida" nel prompt dei comandi, il che indica che la connessione è stata stabilita correttamente dopo aver inserito la password valida.

Per specificare il nome del file della chiave pubblica con il percorso per la connessione al server, eseguire il seguente comando ssh con l'opzione -i. È necessario quando si salva la chiave pubblica nel nome file personalizzato. Ho usato il nome file predefinito id_rsa al momento della generazione della chiave.

$ ssh -I ~/.ssh/id_rsa fahmida@fahida-VirtualBox

Come prima, ti verrà richiesta la password per connetterti al server. L'output mostra che la connessione è stata stabilita correttamente e il nome utente del prompt è cambiato. È possibile modificare il file di configurazione del server per disabilitare l'autenticazione basata su password se non si desidera fornire una password durante la connessione al server.

Diploma:

L'uso del comando ssh-copy-id per connettersi all'host remoto è stato descritto in questo tutorial utilizzando due account utente dell'host locale per aiutare i lettori a capire come funziona questo comando.


Ubuntu
  1. Come configurare e utilizzare il server FTP in Ubuntu Linux

  2. Come installare MySQL su Ubuntu 18.04

  3. Come installare Zimbra 8.6 su Ubuntu 14.04 Server

  4. Come installare e utilizzare Telnet su Ubuntu 20.04 LTS

  5. Come utilizzare Ubuntu Server Disk Top

Come installare il server OpenSIPS su Ubuntu 15.04

Come configurare OpenVPN su Ubuntu 16.04

Come utilizzare SSH per connettersi a un server remoto in Ubuntu 20.04 LTS

Come usare Ubuntu

Come utilizzare la crittografia e-mail in Ubuntu

Come installare Plex Media Server su Ubuntu 16.04 Server/Desktop