ssh

Come usare il comando ssh-copy-id

Come usare il comando ssh-copy-id

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 del sistema remoto 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 install openssh-client

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

$ ssh-copy-id
Utilizzo: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [file_identità]] [-p porta] [[-o ]… ] [user@]hostname         -f: force mode -- copia le chiavi senza provare a verificare se sono già installate         -n: dry run    -- nessuna chiave viene effettivamente copiata         -h|-?: stampa questo aiuto

L'uso 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 con chiave pubblica SSH.

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 in ~/.ssh, come mostrato di seguito.

$ ssh-keygen
Generazione di una coppia di chiavi rsa pubblica/privata.
Inserisci il file in cui salvare la chiave (/root/.ssh/id_rsa):
Directory creata '/root/.ssh'.
Inserisci la passphrase (vuota per nessuna passphrase):
Inserisci di nuovo la stessa passphrase:
La tua identificazione è stata salvata in /root/.ssh/id_rsa.
La tua chiave pubblica è stata salvata in /root/.ssh/id_rsa.pub.
L'impronta digitale chiave è:
SHA256:ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ+gI24DptsA root@user L'immagine randomart della chiave è:
+---[RSA 2048]----+
| o=o |
| o. o|
| … + .+.|
|       . + + o .o|
| S + .  . |
|. o   … o o  + .|
|.E o   +. +. + + |
|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 -i ~/.ssh/id_rsa.pub [email protected] -p 6576

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

/usr/bin/ssh-copy-id: INFO: Sorgente delle chiavi da installare: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: tentativo di accedere con le nuove chiavi, per filtrare quelle già installate
/usr/bin/ssh-copy-id: INFO: 1 chiave(e) rimane(e) da installare -- se ti viene chiesto ora è di installare le nuove chiavi [email protected] password del 101:
Numero di chiavi aggiunte: 1 Ora prova ad accedere alla macchina, con:   "ssh -p '6576"[email protected]'" e controlla che siano state aggiunte solo le chiavi che volevi.

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 6576 [email protected]

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

Inserisci la passphrase per la chiave '/root/.ssh/id_rsa':
Ultimo accesso: Ven Mar  5 14:06:16 2021 da 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

Puoi modificare il funzionamento del comando ssh-copy-id utilizzando gli argomenti forniti. Per visualizzare la pagina di aiuto, usa il comando ssh-copy-id -h oppure usa il comando ssh-copy-id senza argomenti.

  1. -io argomento: questo argomento specifica il file di identità da utilizzare, i.e., copiato nell'host remoto specificato. Se non si specifica l'argomento -i, tutti i file nella ~/.directory ssh con il modello corrispondente *.il pub verrà aggiunto.
  2. -f bandiera: Questo flag abilita la modalità forzata, che non verifica 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 del sistema. Pertanto, sii estremamente attento mentre sperimenti questo processo.

I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...
Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...