Dawno temu wygenerowałem parę kluczy ssh-keygen
i użyłem, ssh-copy-id
aby umożliwić logowanie do wielu programistycznych maszyn wirtualnych bez konieczności ręcznego wprowadzania hasła. Przesłałem również mój klucz publiczny do GitHub, GitLab i podobnych w celu uwierzytelnienia w repozytoriach git za pomocą git@
zamiast https://
.
Jak mogę ponownie zainstalować pulpit z systemem Linux i zachować wszystkie te dane logowania? Czy ~/.ssh/
wystarczy wykonać kopię zapasową i przywrócić ?
/
i kolejną dla/home
/home
partycję, zarówno kłopotliwą, jak i ograniczoną. Rozumiem, że niektórzy ludzie uważają to za przydatne i to w porządku, ale nie sądzę, aby i tak była odpowiednia pomoc w sytuacji PO./home
za pomocątar
lub w jakikolwiek inny sposób, chyba że planujesz ponownie użyć istniejących partycji, co i tak jest ryzykowne w przypadku większości instalatorów systemu operacyjnego, którzy chętnie je wyczyszczą, chyba że znajduje się na osobnym dysku fizycznym usuń podczas instalacji.Odpowiedzi:
Musisz przynajmniej wykonać kopię zapasową kluczy prywatnych. Nie można ich zregenerować bez konieczności wymiany klucza publicznego wszędzie. Zwykle będą miały nazwę zaczynającą się od
id_
i bez rozszerzenia.Klucze publiczne mogą być regenerowane z tym poleceniem:
ssh-keygen -y -f path/to/private/key
. Twoja konfiguracja użytkownika (plik o nazwie „config”) może być również przydatna, jeśli ustawiłeś jakieś domyślne ustawienia.Wszystkie te pliki zwykle znajdują się w ~ / .ssh, ale najpierw sprawdź!
źródło
W przypadku wychodzących połączeń SSH wystarczy wykonać kopię zapasową pary kluczy. Dla wygody możesz po prostu wykonać kopię zapasową
~/.ssh
katalogu i przywrócić go do nowej instalacji.Zwykle wystarczy wykonać kopię zapasową i przywrócić ten katalog, ale możliwe jest przechowywanie kluczy w innym miejscu za pomocą niestandardowych ustawień w
~/.ssh/config
lub/etc/ssh/ssh_config
, lub za pomocą agenta SSH issh-add
odebrać klucze do użycia w połączeniach wychodzących z dowolnej lokalizacji .Jeśli masz przychodzące połączenia SSH, możesz również rozważyć utworzenie kopii zapasowej kluczy hosta SSH pod adresem
/etc/ssh/ssh_host_*
. Jeśli nie utworzysz ich kopii zapasowej, nowe klucze hosta zostaną automatycznie wygenerowanesshd
podczas pierwszego uruchomienia nowej instalacji, a wszelkie przychodzące połączenia SSH pokażą „Niezgodność klucza hosta SSH, ktoś może zrobić coś złego!” komunikat o błędzie i zwykle odrzuca połączenie, chyba że ktoś usunie stary klucz hosta na kliencie SSH i wyraźnie zaakceptuje nowy.Wygląda na to, że nie masz przychodzących połączeń SSH na komputerze stacjonarnym z systemem Linux, więc wspominam o tym tylko ze względu na kompletność. Ale w systemach serwerowych lub jeśli masz znaczną konfigurację opartą na SSH, potwierdzenie zmiany klucza hosta może być dużym problemem.
źródło
/etc/ssh
, nazwy plików tossh_host_*
(kilka plików dla różnych algorytmów)./etc/ssh/ssh_host_ed25519_key
, lub masz klucz RSA 1024, a nawet klucz DSS).