Ustawienie właściwe .uprawnienia SSH/Config

Ustawienie właściwe .uprawnienia SSH/Config
Protokół SSH to bezpieczny protokół, który jest zwykle używany do łączenia się z urządzeniami zdalnymi, takimi jak serwery i urządzenia sieciowe, w tym routery i przełączniki. Działa w konfiguracji klienta-serwera i, domyślnie, słucha na porcie 22 (chociaż można to zmienić w razie potrzeby). SSH stosuje różne techniki szyfrowania i haszczurki, aby zapewnić, że komunikacja między klientem a zdalnym hostem jest szyfrowana i bezpieczna przed podsługa.

Pliki SSH są przechowywane w .ssh teczka. To jest ukryty folder, który znajduje się w katalogu domowym. .ssh Katalog nie jest domyślnie tworzony; jest tworzony podczas inicjowania połączenia ze zdalnym hostem lub używasz ssh-keygen polecenie do generowania prywatnych i publicznych kluczy uwierzytelniania tak, jak chcesz skonfigurować uwierzytelnianie SSH bez hasła.

.ssh teczka. Zawiera niezbędne pliki SSH, takie jak:

  1. Klucze publiczne i prywatne ( id_rsa i id_rsa.pub ).
  2. znane_hosts Plik - zawiera klucze publiczne wszystkich zdalnych systemów, z którymi się podłączyłeś.
  3. konfigurator plik konfiguracyjny klienta

Jeśli konfigurator Plik nie istnieje, możesz łatwo utworzyć taki jak pokazano.

$ touch ~/.ssh/config

.plik konfiguracji klienta ssh/config

Za każdym razem, gdy inicjujesz połączenie SSH, musisz określić szczegóły, takie jak adres IP lub nazwa domeny, a Port SSH słucha. Na przykład,

$ ssh [email protected] -p 22

Może być gorączkowe, aby zawsze pamiętać o takich szczegółach. I tutaj ~/.ssh/config Plik pojawia się. ~/.ssh/config Plik to plik konfiguracyjny, który umożliwia skonfigurowanie szczegółów konfiguracji dla użytkownika zdalnego hosta. Oszczędza to agonię zawsze do przywoływania szczegółów na host wymaganych do połączenia.

Przypuszcza się przykładowy plik konfiguracji, jak pokazano.

Server inscenizacji gospodarza
Nazwa hosta 192.168.2.103
Użytkownik James
Port 22

Proste polecenie SSH w zdalnym hoście wyglądałoby w następujący sposób:

SSH SSH STAGING-SERVER

.uprawnienia plików SSH/Config

Domyślnie, ~/.ssh/config Plik konfiguracyjny klienta posiada 644 Uprawnienia do pliku. Możesz sprawdzić, czy za pomocą LS -LA polecenie w następujący sposób.

$ ls -la ~//.ssh/config

Oznacza to, że właściciel i grupa pliku mają uprawnienia odczytu i zapisu (RW), podczas gdy inni użytkownicy mają tylko uprawnienia do odczytu (R).

-RW-RW-R--

NOTATKA:

Z reguły, nigdy nie przypisuj uprawnień do zapisu innym użytkownikom. Stwarza to ryzyko bezpieczeństwa pliku, a inni użytkownicy, którzy nie są sobą lub w grupie, mogą modyfikować zawartość pliku. Przypisanie uprawnień do zapisu spowoduje „Zły właściciel lub uprawnienia„Błąd, jak wskazano poniżej.

Tutaj plik konfiguracji przypisano uprawnienia 666. Oznacza to, że każdy może zarówno odczytać i zapisać plik.

Podobnie obowiązuje ten sam przypadek, w którym plik przypisano 777 uprawnień. Oznacza to, że każdy może czytać, pisać i wykonywać plik. Mówiąc najprościej, każdy ma wszystkie prawa do potencjalnie niebezpiecznego pliku.

Najlepsze praktyki zaleca pozostawienie domyślnych uprawnień pod adresem 664 Lub 600, gdzie tylko właściciel czytał i pisze uprawnienia (RW). W ten sposób plik pozostaje bezpieczny przed modyfikacją przez nieautoryzowanych użytkowników.

Dodatkowo upewnij się, że posiadasz plik. Jeśli plik zostanie zmieniony na innego użytkownika, SSH nie będzie w stanie rozwiązać nazwy hosta podanej w pliku konfiguracji.

W poniższym przykładzie, ~/.ssh/config Własność została ustalona Bob: Bob.

Aby rozwiązać ten problem, wróciłem do oryginalnej własności plików za pomocą Chown Komenda.

$ sudo chown James: James ~/.ssh/config

Po powrocie uprawnień plików mogę teraz mieć dostęp, wywołując polecenie SSH, a następnie nazwa hosta określona w pliku konfiguracji.

SSH SSH STAGING-SERVER

I to wszystko, co musisz wiedzieć o ustawieniu uprawnień na ~/.ssh/config plik. Upewnij się, że nie ustawiasz uprawnień do odczytu dla reszty użytkowników i upewnij się, że posiadasz plik.