Processo per spostare le chiavi del server SSH sul nuovo server


9

Presto lo spostamento di un server su un nuovo hardware in un nuovo datacenter, e ovviamente questo significa un nuovo IP.

Qual è il processo corretto (se non del tutto) per spostare le chiavi SSH dal server originale a quello nuovo in modo che i client di connessione non ricevano alcun avviso o debbano accettare di nuovo qualcosa?

È anche possibile, considerando che l'IP sta cambiando?

Quali file devo spostare? Sto assumendo tutti i file ssh_host_ *.

Passare da RHEL 5 a Ubuntu 10.04.

Risposte:


8

Puoi spostare le chiavi dal tuo attuale server al nuovo server senza troppi problemi. Devi solo assicurarti che vadano nella stessa posizione e abbiano la stessa autorizzazione.

Idealmente, tuttavia, dovresti cogliere l'occasione per creare nuove chiavi e aggiornare le chiavi del client nell'interesse della sicurezza.


2
Ho dimenticato di aggiungere che i tuoi utenti potrebbero ricevere un avviso quando si connettono al nuovo host che hanno già un host nel loro file degli host conosciuti che corrisponde alla chiave con cui si stanno autenticando. Ciò significa che dovranno rimuovere la voce nel loro file hosts noto. Non puoi aggirare questo.
Mike,

1
Quindi, se gli utenti possono comunque ricevere un avviso, ha molto senso spostare le chiavi?
Daniel Huckstep,

1
gli utenti riceveranno un avviso. Sarà un uomo nel messaggio di attacco centrale. Sembra spaventoso ma se si eliminano know_hosts dal client riceveranno un messaggio meno spaventoso. Non conosco un suggerimento di qualche tipo.
egorgry il

5

1) Se i tuoi file di configurazione sshd sono memorizzati in / etc / ssh /, dovrai copiarli tutti. Lì troverai la configurazione sshd, così come l'host-keypair.

Assicurati di copiare correttamente anche le autorizzazioni! Sshd ignorerà semplicemente le chiavi che non sono adeguatamente protette. (Buono anche perché una chiave privata non protetta è una pessima idea.)

2) Se hai già aggiunto le chiavi pubbliche degli host remoti che sono attendibili e non richiedono più una password per accedere, dovrai anche copiare tali informazioni affinché il login automatico funzioni nuovamente. Queste informazioni sono normalmente archiviate in /home/-account-/.ssh/ (sotto le chiavi autorizzate). Ancora una volta, non dimenticare le autorizzazioni qui.


Per quanto riguarda la modifica dell'indirizzo IP, supponendo che i client remoti vedano effettivamente una modifica dell'IP (non sei dietro un proxy inverso o altro), quindi no, richiederanno all'utente di accettare nuovamente il certificato. (poiché nel file known_hosts del client remoto, l'IP del server e il certificato del server sono stati archiviati insieme) Peggio ancora, se si assegna tale indirizzo IP a un altro server SSH, potrebbero persino essere avvisati di un attacco man-in-the-middle.

Quindi ha senso usare lo stesso indirizzo IP (esterno) sul nuovo server.


0

Non hai menzionato il tuo sistema operativo. Posso dirti con certezza che un host RHEL ha le chiavi del server memorizzate in / etc / ssh. Basta copiare quella directory nella sua interezza. Dovrai quindi rimbalzare sshd / riavviare la casella.

Credo che finché ti connetti tramite lo stesso nome DNS, non dovresti ricevere avvisi. Anche con il nuovo IP.


--Christopher Karel


Aggiunta nota su cosa sono i SO
Daniel Huckstep,

1
Quindi sì, / etc / ssh è la directory che desideri. Consiglierei solo le chiavi ssh_host *. Non spostare i file di configurazione. E ti consigliamo di eseguire il backup del lato di destinazione delle cose, solo per sicurezza.
Christopher Karel,
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.