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
| Parametro | Funzione |
|---|---|
-i FILE | Seleziona esplicitamente la chiave pubblica da installare. |
-p PORTA | Indica la porta usata dal servizio SSH. |
UTENTE@HOST | Identifica 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
-Pmaiuscola: inssh-copy-idla porta usa-p. - Omettere
-ie 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
- Mostra la fingerprint con
ssh-keygen -lf FILE.pub. - Esegui
ssh-copy-id -i FILE.pub -p PORTA UTENTE@HOST. - Apri una nuova sessione con
ssh -i FILE -o IdentitiesOnly=yes -p PORTA UTENTE@HOST. - Controlla
whoamiehostname. - 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-idinstalla 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.
COMMUNITY
Non ci sono ancora commenti. Puoi iniziare tu la conversazione.