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.
Esegui il comando seguente per aprire sshd_config File con l'editor nano per aggiungere alcune configurazioni necessarie.
$ sudo Nano /Etc/ssh/sshd_configAggiungi le seguenti righe al file per abilitare l'accesso come root e l'autenticazione basata su password.
Autenticazione password Sì signorePermitRootLogin Sì signore
Esegui il comando seguente per riavviare il servizio SSH.
$ sudo service ssh ricominciaSintassi:
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 hostVarie 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-VirtualBoxVedrai 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-VirtualBoxVedrai 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-aggiungiEsegui 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-VirtualBoxL'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-VirtualBoxCome 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.