Nieumyślne usunięcie .ssh / author_keys, czy to poważny błąd?

13

Jestem nowy, aby skonfigurować klucze SSH na Ubuntu 16.04. Szukałem autoryzowanego klucza do usunięcia o nazwie, anneale myślę, że usunąłem cały authorized_keysplik.

mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys  id_rsa           id_rsa.pub       known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys 

Czy to poważny błąd? Jeśli tak, jak je zregenerować? Tymczasem zrobiłem to:

mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys
Revolucion for Monica
źródło
W jaki sposób pierwsze rmpolecenie wyświetliło zawartość katalogu? Czy to powinien być błąd kopiowania ls /home/mike/.ssh/?
Barmar
3
@Barmar, tak to wygląda w Bash po naciśnięciu klawisza Tab, aby automatycznie uzupełnić ścieżkę, i jest wiele możliwości.
ilkkachu
3
Teraz jest najlepszy czas, aby pomyśleć o tworzeniu kopii zapasowych i przywracaniu .
Przywróć Monikę - M. Schröder

Odpowiedzi:

21

~/.ssh/authorized_keysPlik zawiera listę kluczy publicznych. Pozwala każdemu, kto jest właścicielem klucza prywatnego pasującego do jednego z nich, połączyć się z tym komputerem i uzyskać zdalny dostęp z tego konta użytkownika (tylda ~na początku ścieżki oznacza, że ​​ten plik znajduje się w katalogu osobistym bieżącego użytkownika).

Na serwerze (maszyna chcesz podłączyć do ):

Jeśli usuniesz ten plik, nikt nie będzie mógł uwierzytelnić się na tym koncie użytkownika przy użyciu swoich kluczy prywatnych. Uwierzytelnianie hasłem nadal będzie działać, chyba że zostanie wyłączone.

Musisz ponownie wygenerować plik i ponownie dodać wszystkie klucze publiczne, do których chcesz przyznać dostęp przy użyciu metody uwierzytelniania za pomocą klucza publicznego.

Na kliencie (komputerze, który chcesz połączyć z IE lokalnym komputerze):

W tym przypadku nie potrzebujesz authorized_keyspliku, ponieważ prawdopodobnie nie chcesz autoryzować żadnych kluczy i udzielać im zdalnego dostępu do komputera lokalnego. Powinien być pusty lub usunięty.

Na kliencie potrzebujesz tylko plików kluczy prywatnych, które są autoryzowane na serwerze (tj. Które mają odpowiadające im klucze publiczne w authorized_keyspliku na serwerze), a opcjonalnie odpowiedni configi known_hostsplik.

Bajt Dowódca
źródło
Dzięki ! Hmm, naprawdę jestem nowy w sprawach kluczy publicznych, prywatnych i dostępu zdalnego. To moja osobista maszyna. Myślę, że nikt nie miał zdalnego dostępu do mojej maszyny, nie sądzę.
Revolucion for Monica
Jeśli nie chcesz, aby ktokolwiek miał dostęp do komputera, po prostu usuń plik lub pozostaw go pusty i możesz iść.
pLumo,
2
Okej, więc myślę, że źle to odczytałeś. Nie potrzebujesz authorized_keyspliku na komputerze lokalnym, ale na serwerze.
pLumo
3
ssh-keygentworzy, id_rsaa id_rsa.pubnie authorized_keys. I to na pewno.
pLumo,
1
Zauważ, że dość często chce się ssh z innego komputera na komputer stacjonarny, a używanie kluczy do uwierzytelnienia jest w tym przypadku bezpieczniejsze.
Karl Bielefeldt
3

Tak, usunąłeś cały plik. Aby go odtworzyć, wszyscy użytkownicy muszą skopiować swoje klucze ssh na serwerze w wieku. Możesz użyć

ssh-copy-id [email protected]

Jeśli nie chcesz usuwać wszystkich kluczy, edytuj plik i usuń tylko wiersze następnym razem.

trietend
źródło
Dzięki, to moja osobista maszyna. Nie jestem pewien, czy służył jeszcze jako serwer
Revolucion dla Moniki
2
Na kliencie potrzebujesz prywatnego pliku kluczy i znanych hostów, a na serwerze klucze autoryzowane z kluczami pubkeys
trietend