Robię nową maszynę Ubuntu jako serwer, która ma zastąpić starą maszynę starszym oprogramowaniem.
Moje pytanie brzmi:
Czy można przenieść / skopiować dane uwierzytelniające (w zakresie SSH) starego komputera / serwera na nowy komputer?
Moim celem jest, aby nowa maszyna wyparła starą i była postrzegana przez innych jako ta sama maszyna podczas korzystania z SSH. Innymi słowy, chcę ułatwić aktualizację mojej sieci bez konieczności resetowania poświadczeń opartych na SSH, jeśli jeden serwer (aw szczególności jego system operacyjny) zostanie wymieniony.
Dzięki
-- Aktualizacja --
Moim konkretnym celem było przesłanie poświadczeń tylko dla serwera, ale czasami używam ssh, aby zastępować logowanie oparte na hasłach, a sugestie dotyczące połączeń klient / serwer są również bardzo pomocne.
Odpowiedzi:
Poświadczenia serwera - które tworzą „odcisk palca” klientów SSH brzydzą się, jeśli są niepoprawne - są tak naprawdę tylko parami kluczy zdefiniowanymi w
/etc/ssh/sshd_config
:Skopiuj te pliki (wraz z ich wariantami .pub), zreplikuj podobną konfigurację, wskazując na nich, przeładuj
sshd
i wszystko powinno działać Just Work ™.Będziesz także chciał kopiować klucze klienta (które ludzie przesłali do swoich,
~/.ssh/authorized_keys
ale ponieważ jest to aktualizacja, prawdopodobnie i tak je kopiujesz).I oczywiście odcisk palca zależy również od tego, czy nazwa hosta jest taka sama, ale wygląda na to, że i tak to robisz.
źródło
Musisz dołączyć zawartość
$HOME/.ssh/id_rsa.pub
do innych serwerów$HOME/.ssh/authorized_keys
. Na szczęście istnieje binarne;ssh-copy-id
. Jego użycie jest proste:ssh-copy-id -i .ssh/id_rsa.pub <user>@<remote.server>
źródło
ssh-copy-id