Come usare il comando ssh-copy-id

How Use Ssh Copy Id Command

Il comando ssh-copy-id è un semplice strumento che consente di installare una chiave SSH sulle chiavi autorizzate di un server remoto. Questo comando facilita l'accesso con chiave SSH, che elimina la necessità di una password per ogni accesso, garantendo così un processo di accesso automatico senza password. Il comando ssh-copy-id fa parte di OpenSSH, uno strumento per eseguire l'amministrazione di sistemi remoti utilizzando connessioni SSH crittografate.

Questo articolo mostra come utilizzare lo strumento ssh-copy-id per rendere i tuoi accessi SSH più fluidi e sicuri.



Come installare il comando ssh-copy-id

Lo strumento ssh-copy-id, parte del pacchetto OpenSSH, è disponibile in tutti i principali repository di distribuzione Linux e puoi utilizzare il tuo gestore di pacchetti per installare questo comando.



Per installare lo strumento ssh-copy-id su Debian, usa il seguente comando:



sudo apt-get update && sudo apt-get installopensh-client

Una volta installato OpenSSH, puoi utilizzare lo strumento ssh-copy-id nella riga di comando.

$ ssh-copy-id

Utilizzo:/usr/sono/ssh-copy-id[-h|-?|-F|-n] [-io[file_identità]] [-p porta] [[-o<ssh -oopzioni>]...] [utente@]Nome host-f: modalità forzata-copiare le chiavi senza provare a controllareSesono già installati -n: dry run-nessuna chiave viene effettivamente copiata-h|-?: stampa questoaiuto

L'utilizzo di ssh-copy-id è semplice perché lo script rende il processo di autenticazione della chiave pubblica più semplice ed efficiente. Prima di approfondire come utilizzare lo strumento, discuteremo prima di come funziona l'autenticazione della chiave pubblica SSH.

NOTA Nota: se sai già come funziona l'autenticazione con chiave pubblica SSH, sentiti libero di saltare questa parte e approfondire come utilizzare immediatamente il comando ssh-copy-id.



Autenticazione con chiave pubblica SSH

L'autenticazione con chiave SSH pubblica è un metodo di autenticazione SSH che consente agli utenti di utilizzare chiavi generate crittograficamente per accedere a server remoti.

Le chiavi SSH sono più sicure delle password non elaborate e forniscono un modo molto più efficiente di accedere a SSH. Le chiavi SSH sono automatizzate e, una volta autorizzate, non richiedono una password ad ogni accesso.

Per utilizzare una chiave SSH, inizieremo generando una chiave.

Come generare una chiave SSH

Per generare una chiave SSH, usa lo strumento ssh-keygen che fa parte di OpenSSH. Questo strumento genera file di chiavi pubbliche e private archiviati nella directory ~/.ssh, come mostrato di seguito.

$ssh-keygen

Generazione di pubblico/coppia di chiavi rsa private.
accederefile in qualeper salvare la chiave(/radice/.ssh/id_rsa):
Directory creata'/root/.ssh'.
Inserisci la passphrase(vuotopernessuna passphrase):
Inserisci di nuovo la stessa passphrase:
La tua identificazione è stata salvatain /radice/.ssh/id_rsa.
La tua chiave pubblica è stata salvatain /radice/.ssh/id_rsa.pub.
L'impronta digitale chiave è:
SHA256:ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ+gI24DptsA radice@utente La chiavel'immagine randomart di è:
+---[RSA 2048]----+
| o=o |
| o. o|
| . . +. +. |
| . + + o .o|
| S+. . |
|. o ..o o + .|
|.E il +. +. + + |
|o. = o.o+ .o.+..|
| .o .. oo =+ o = o.+ |
+----[SHA256]-----+

Come copiare la chiave SSH usando SSH-copy-id

Una volta generata una chiave SSH, possiamo aggiungere manualmente la chiave SSH al file authorized_keys della macchina remota o utilizzare il comando ssh-copy-id.

Useremo il comando ssh-copy-id per semplificare questo processo. Chiama semplicemente il comando ssh-copy-id e passa il percorso alla chiave pubblica, come segue:

$ssh-copy-id-io~/.ssh/id_rsa.pub utente@77.134.54.101-P 6576

Dopo aver inserito il comando precedente, dovresti ottenere il seguente output:

/usr/sono/ssh-copy-id: INFO: Sorgente della chiave(S)essere installato:'/root/.ssh/id_rsa.pub'
/usr/sono/ssh-copy-id: INFO: tentativo di accessoincon la nuova chiave(S), per filtrare quelli già installati
/usr/sono/ssh-copy-id: INFO:1chiave(S)restano da installare- Seti viene chiesto ora è diinstallareil nuovo utente chiavi@77.134.54.101 password:
Numero di chiavi(S)aggiunto:1Ora prova ad accedere alla macchina, con:'ssh -p '6576' '[e-mail protetta] ''e controlla perfarecerto che solo la chiave(S)volevi fossero aggiunti.

NOTA : Non copiare mai la tua chiave privata su un'altra macchina.

Una volta che il comando è stato eseguito correttamente, prova ad accedere al server utilizzando la chiave che hai caricato, come segue:

$ssh -P 6576linkfy@77.134.54.101

Il comando precedente ti richiederà di inserire la passphrase per la tua chiave pubblica, come mostrato nell'output seguente:

Inserisci la passphraseperchiave'/root/.ssh/id_rsa':
Ultimo accesso: ven mar5 14: 06:16 2021da 173.208.98.186

Il comando sopra dovrebbe consentire di accedere all'host remoto senza chiedere la password dell'utente. Il sistema potrebbe chiederti di inserire la passphrase della chiave che hai impostato in precedenza.

Opzioni del comando SSH-copy-id

È possibile modificare il funzionamento del comando ssh-copy-id utilizzando gli argomenti forniti. Per visualizzare la pagina della guida, utilizzare il comando ssh-copy-id -h oppure utilizzare il comando ssh-copy-id senza argomenti.

  1. -i argomento : questo argomento specifica il file di identità da utilizzare, ovvero copiato nell'host remoto specificato. Se non si specifica l'argomento -i, verranno aggiunti tutti i file nella directory ~/.ssh con il modello corrispondente *.pub.
  2. -f bandiera : questo flag abilita la modalità forzata, che non controlla se la chiave è preconfigurata in authorized_keys sul server. Il flag -f aggiunge una chiave, spesso con il risultato di più copie della stessa chiave installate sul server.
  3. -p bandiera : questo flag specifica la porta SSH per connettersi all'host remoto. Questo flag viene utilizzato quando non viene utilizzata la porta SSH predefinita.
  4. -n bandiera : questo flag esegue un test che stampa le chiavi destinate all'installazione senza installarle sull'host remoto.

Conclusione

Questa guida ti ha mostrato come utilizzare il comando ssh-copy-id per installare le chiavi SSH su host remoti. Sebbene questo possa essere un metodo semplice ed efficiente per installare le chiavi, le chiavi configurate in modo errato possono causare problemi di sicurezza o il blocco dell'accesso al sistema. Pertanto, sii estremamente attento mentre sperimenti questo processo.