Zapasowy dla Authorized_keys

Oct 27 2020

Pracuję nad automatyzacją, która generuje listę dozwolonych kluczy publicznych i nadpisuje użytkownika serwera ~./ssh/authorized_keys. Czy istnieje sposób, aby zapobiec pomyłce w automatyzacji, która całkowicie zablokuje mi dostęp do hosta? Mam pewne ograniczenia, sam serwer pochodzi z obrazu maszyny wirtualnej, który z czasem jest aktualizowany, więc tworzenie dodatkowych użytkowników nie jest czymś, za czym chciałbym się zajmować.

Do tej pory myślałem o:

  • Czy można by mieć kompozycję authorized_keys. Gdyby były 2 pliki, mógłbym mieć plik dynamiczny i jeden z plików ze statycznym kluczem awaryjnym.
  • Nadal będę przeprowadzać testy przed nadpisaniem (na przykład sprawdzanie zawartości i formatu kluczy), aby upewnić się, że nie kopiuję pustego pliku. Jednak mimo wszystko coś może pójść nie tak.

Czy kompozycja jest możliwa? Jeśli nie, czy macie inne pomysły?

Z góry dziękuję.

Odpowiedzi

2 satwell Oct 27 2020 at 20:47

sshddomyślnie sprawdza już ~/.ssh/authorized_keysi ~/.ssh/authorized_keys2. Można to skonfigurować za pomocą AuthorizedKeysFileopcji w /etc/ssh/sshd_config, która może pobrać listę wielu plików do sprawdzenia. Od sshd_config(5):

AuthorizedKeysFile

Określa plik zawierający klucze publiczne używane do uwierzytelniania użytkowników. Format jest opisany w sekcji AUTHORIZED_KEYS FILE FORMAT w sshd (8). Argumenty do AuthorizedKeysFile akceptują tokeny opisane w sekcji TOKENS. Po rozwinięciu, AuthorizedKeysFile jest traktowane jako ścieżka bezwzględna lub ścieżka względna w stosunku do katalogu domowego użytkownika. Może być wyświetlonych wiele plików, oddzielonych spacjami. Alternatywnie ta opcja może być ustawiona na none, aby pominąć sprawdzanie kluczy użytkownika w plikach. Wartość domyślna to „.ssh / authoris_keys .ssh / authoris_keys2”.