Sto reinstallando il mio desktop Linux, come posso mantenere funzionanti gli accessi SSH?


15

Molto tempo fa ho generato una coppia di chiavi utilizzando ssh-keygene ho usato ssh-copy-idper abilitare l'accesso a molte macchine virtuali di sviluppo senza dover inserire manualmente una password. Ho anche caricato la mia chiave pubblica su GitHub, GitLab e simili per autenticare i repository git usando git@invece di https://.

Come posso reinstallare il mio desktop Linux e far funzionare tutti questi accessi? Il backup e il ripristino sono ~/.ssh/sufficienti?


2
Questo è uno dei tanti motivi per cui quando installi un nuovo ambiente Linux dovresti avere una partizione per /e un'altra per/home
olegario

4
@olegario Non sono d'accordo. Ho usato Linux per la parte migliore della mia vita, e attualmente amministrare> 100 macchine, ma ho sempre trovato una /homepartizione separata sia una seccatura che un uso limitato. Capisco che alcune persone lo trovino utile, e va bene, ma non penso che sia comunque un aiuto adeguato per la situazione dei PO.
marcelm,

5
Non c'è davvero alcun vantaggio in una partizione rispetto al solo backup e ripristino /hometramite taro in qualsiasi altro modo, a meno che non si preveda di riutilizzare le partizioni esistenti, il che è comunque rischioso con la maggior parte dei programmi di installazione del sistema operativo che li cancellerà felicemente, a meno che non si trovi su un disco fisico separato rimuovere durante l'installazione.
R .. GitHub smette di aiutare ICE il

1
Una volta che hai finito con la reinstallazione, non importa come lo fai esattamente, potresti voler riconsiderare di avere solo una coppia di chiavi per tutto.
un CVn del

Risposte:


29

È necessario eseguire il backup delle chiavi private, almeno. Non possono essere rigenerati senza dover sostituire la chiave pubblica ovunque. Questi normalmente avrebbero un nome che inizia con id_e senza estensione.

Le chiavi pubbliche possono essere rigenerati con questo comando: ssh-keygen -y -f path/to/private/key. La tua configurazione utente (un file chiamato "config") potrebbe anche essere utile se hai impostato valori non predefiniti.

Tutti questi file normalmente sarebbero in ~ / .ssh, ma prima controlla!


28

Per le connessioni SSH in uscita , è sufficiente eseguire il backup della coppia di chiavi. Per comodità, è possibile eseguire il backup della ~/.sshdirectory e ripristinarla nella nuova installazione.

Normalmente è sufficiente eseguire il backup e il ripristino di quella directory, ma è possibile memorizzare le chiavi altrove utilizzando le impostazioni personalizzate in ~/.ssh/configo /etc/ssh/ssh_configoppure utilizzando un agente SSH e ssh-addprelevare le chiavi da utilizzare su connessioni in uscita da una posizione arbitraria .

Se disponi di connessioni SSH in entrata , puoi anche prendere in considerazione il backup delle chiavi dell'host SSH su /etc/ssh/ssh_host_*. Se non esegui il backup di questi, le nuove chiavi host verranno generate automaticamente sshdall'avvio per la prima volta sulla nuova installazione e qualsiasi connessione SSH in arrivo mostrerà "Mancata corrispondenza della chiave host SSH, qualcuno potrebbe fare qualcosa di male!" messaggio di errore e di solito rifiuta la connessione a meno che qualcuno non elimini la vecchia chiave host sul client SSH e accetti esplicitamente quella nuova.

Sembra che potresti non avere connessioni SSH in arrivo sul tuo sistema desktop Linux, quindi lo sto menzionando solo per completezza. Ma sui sistemi server o se si dispone di un'automazione basata su SSH significativa, riconoscere una chiave host modificata potrebbe essere una seccatura.


1
+1 Questa dovrebbe essere la risposta accettata. Per accedere da altre macchine, è necessario mantenere la chiave host, solitamente memorizzata in /etc/ssh, i nomi dei file sono ssh_host_*(più file per algoritmi diversi).
rexkogitans,

2
Si noti che se siete SSHing in , si potrebbe desiderare di ruotare gli ospitanti chiavi in ogni caso; ma questo dipende dalla tua situazione di gestione delle chiavi (ad es. le chiavi sono state generate l'ultima volta anni fa e non ce l'hai /etc/ssh/ssh_host_ed25519_keyancora, oppure hai una chiave RSA 1024 o persino una chiave DSS).
Piskvor lasciò l'edificio il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.