THREATHUNTING.IT / Tutorial

ssh-copy-id: installare una chiave pubblica sul server e verificare l’accesso

Come scegliere esplicitamente la chiave, gestire una porta personalizzata e provare il nuovo login prima di chiudere la sessione corrente.

LivelloIntermediate ssh-copy-id: installare una chiave pubblica sul server e verificare l’accesso

ssh-copy-id installa una chiave pubblica tra le chiavi autorizzate di un account remoto. Il comando semplifica un’operazione delicata, ma non crea autorizzazioni dal nulla: serve già un metodo valido per accedere al server.

Obiettivo e prerequisiti

Imparerai a scegliere la chiave corretta, specificare una porta SSH e verificare il login. Servono una coppia già creata, un account remoto autorizzato e un accesso funzionante tramite password o altra credenziale.

Uso autorizzato

Installa chiavi soltanto su account che puoi amministrare. Mantieni aperta una sessione funzionante finché il nuovo accesso e gli eventuali privilegi amministrativi non sono stati verificati.

Cosa modifica sul server

Nel caso ordinario, ssh-copy-id usa SSH per autenticarsi e aggiunge la chiave pubblica a ~/.ssh/authorized_keys dell’utente remoto. La chiave privata non deve lasciare il computer locale.

Il comando non ripara automaticamente una configurazione SSH che vieta l’accesso, non abilita utenti disattivati e non sostituisce la verifica della chiave host del server.

Sintassi essenziale

ssh-copy-id -i CHIAVE_PUBBLICA [-p PORTA] [UTENTE@]HOST

Esempio con nomi di laboratorio:

ssh-copy-id \
  -i ~/.ssh/id_ed25519_linuxplus.pub \
  -p 2222 \
  studente@server-lab.example
Parametri principali
ParametroFunzione
-i FILESeleziona esplicitamente la chiave pubblica da installare.
-p PORTAIndica la porta usata dal servizio SSH.
UTENTE@HOSTIdentifica account e server di destinazione.

Specificare -i evita che il comando scelga una chiave diversa tra quelle disponibili localmente o caricate nell’agent.

Controlli prima dell’installazione

test -r ~/.ssh/id_ed25519_linuxplus.pub && \
ssh-keygen -lf ~/.ssh/id_ed25519_linuxplus.pub

Il primo comando verifica che il file sia leggibile; il secondo mostra la fingerprint. Confrontala con l’inventario della chiave prevista prima di procedere.

Connettiti una volta manualmente e verifica la chiave host del server attraverso un canale affidabile. Non aggirare un avviso sulla host key con opzioni che disabilitano il controllo.

Verificare che funzioni proprio la nuova chiave

ssh \
  -i ~/.ssh/id_ed25519_linuxplus \
  -o IdentitiesOnly=yes \
  -p 2222 \
  studente@server-lab.example

-i indica qui la chiave privata locale corrispondente; IdentitiesOnly=yes limita il tentativo all’identità configurata, rendendo il test meno ambiguo. Dopo il login, controlla identità e host:

whoami
hostname

Se l’account usa sudo, verifica separatamente soltanto le operazioni autorizzate. Non disabilitare l’accesso precedente finché il test non è completo.

Risultato atteso

La verifica è riuscita quando la nuova sessione raggiunge l’host previsto, whoami restituisce l’account autorizzato e il login usa la chiave selezionata senza ricadere in modo inatteso su un’altra identità. Conserva la sessione precedente finché questi tre controlli non sono conclusi.

Errori comuni

  • Passare la chiave privata invece del file pubblico.
  • Usare -P maiuscola: in ssh-copy-id la porta usa -p.
  • Omettere -i e installare una chiave scelta implicitamente.
  • Considerare riuscita l’installazione senza provare una nuova connessione.
  • Disabilitare troppo presto password o vecchie credenziali.

Esercizio guidato

In un server di laboratorio, installa una chiave pubblica dedicata e verifica il nuovo accesso specificando esplicitamente identità e porta. Registra soltanto fingerprint ed esito, mai la chiave privata.

Sequenza di soluzione
  1. Mostra la fingerprint con ssh-keygen -lf FILE.pub.
  2. Esegui ssh-copy-id -i FILE.pub -p PORTA UTENTE@HOST.
  3. Apri una nuova sessione con ssh -i FILE -o IdentitiesOnly=yes -p PORTA UTENTE@HOST.
  4. Controlla whoami e hostname.
  5. Chiudi la vecchia sessione soltanto dopo l’esito positivo.

Ripristino e pulizia del laboratorio

Se la chiave di prova non deve restare installata, usa la sessione amministrativa già aperta per rimuovere da ~/.ssh/authorized_keys esclusivamente la riga identificata dalla fingerprint o dal commento verificato. Non cancellare l’intero file. Prova nuovamente l’accesso previsto e termina le sessioni di laboratorio soltanto dopo aver confermato lo stato finale.

Cosa ricordare

  • ssh-copy-id installa la parte pubblica.
  • Un accesso remoto valido deve già esistere.
  • La nuova chiave va sempre provata in una sessione separata.

Fonti essenziali

Fonte primaria del pacchetto verificata il 12 ottobre 2026.

VALUTAZIONE DEI LETTORI

Questo articolo ti è stato utile?

Punteggio 0 · 0 positivi, 0 negativi

Vedi gli articoli più apprezzati →

REVISIONE TECNICA

Redazione ThreatHunting.it

Revisionato il .

Come lavoriamo →

COMMUNITY

Commenti 0

Non ci sono ancora commenti. Puoi iniziare tu la conversazione.

Scrivi un commento +
Non sarà pubblicata.
I commenti vengono pubblicati dopo la moderazione.

PRIVACY / LE TUE SCELTE

Cookie e statistiche

Usiamo cookie necessari per accesso, sicurezza e memorizzazione delle preferenze. Solo con il tuo consenso raccogliamo statistiche sulle pagine visitate, paese, dispositivo, browser e provenienza, con un identificatore pseudonimo giornaliero. Il consenso abilita anche Google Analytics 4, descritto nell’informativa. Nessuna pubblicità o profilazione commerciale.

Puoi rifiutare le statistiche e continuare a usare il sito. Leggi l’informativa privacy e cookie e modifica la scelta in qualsiasi momento.