Copiare le chiavi SSH su un server senza usare ssh-copy-id

Quando si lavora con server Linux o Unix, le chiavi SSH offrono un metodo sicuro e comodo per connettersi a server remoti senza dover inserire ogni volta una password. Tuttavia, il metodo comune per copiare le chiavi SSH su un server remoto è utilizzando il comando ssh-copy-id. Che fare, però, se questo comando non è disponibile? In questo articolo, vi mostreremo come copiare manualmente la vostra chiave SSH su un server remoto quando ssh-copy-id non è un'opzione.

Per copiare la vostra chiave SSH su un server remoto utilizzando un unico comando (senza l'utilizzo di ssh-copy-id), potete utilizzare il comando cat in combinazione con ssh. Questo approccio vi permette di leggere la vostra chiave pubblica locale e di aggiungerla direttamente al file ~/.ssh/authorized_keys sul server remoto in un unico passaggio. Ecco come si fa:


cat ~/.ssh/id_rsa.pub | ssh utente@indirizzo-server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

  • cat ~/.ssh/id_rsa.pub: Legge il contenuto della vostra chiave pubblica SSH locale.
  • |: Passa l'output del comando precedente al comando successivo.
  • ssh utente@indirizzo-server: Si connette al server remoto dove intendete copiare la vostra chiave SSH.
  • "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys": Questa stringa di comandi eseguita sul server remoto fa quanto segue:
    • mkdir -p ~/.ssh: Crea la directory .ssh nella home directory dell'utente se non esiste già.
    • cat >> ~/.ssh/authorized_keys: Aggiunge la chiave pubblica al file authorized_keys. Se il file non esiste, lo crea.

Assicuratevi di sostituire utente con il vostro nome utente sul server remoto e indirizzo-server con l'indirizzo IP o il nome host del server a cui vi state connettendo.

Questo comando vi permetterà di effettuare l'intero processo in un solo passaggio, rendendo il trasferimento della chiave SSH rapido e senza problemi.

Torna su