Skonfiguruj SSH, aby uzyskać dostęp bez hasła

ssh

SSHlub Secure Shell to bezpieczna powłoka używana dla zdalny dostęp z wszelkiego rodzaju urządzeń do serwerów, przez tunelowany kanał i chroniony przez szyfrowanie, co zapewnia bezpieczeństwo, które zapobiega lub przynajmniej bardzo utrudnia przechwycenie nazwy użytkownika lub hasła przez osoby trzecie. W przypadku * Nix ten protokół jest dostępny za pośrednictwem OpenSSH, zestawu rozwiązań klient-serwer dostępnych we wszystkich dystrybucjach Linuksa i powiązanych platformach, takich jak * BSD.

Jeśli SSH oferuje nam doskonały poziom bezpieczeństwa, dlaczego mielibyśmy go używać bez konieczności podawania hasła? Przyczyn może być kilka, ale jednym z nich, który często wyróżnia się jako generator, jest potrzeba zdalnego logowania się za pomocą skryptów i wykonywania zadań superużytkownika. Jak dobrze wiemy, nie zaleca się umieszczania tych danych w żadnym skrypcie. Aby rozwiązać ten problem, zobaczymy jak generować klucze SSH, aby móc logować się zdalnie bez konieczności podawania hasła.

To nas wymaga wygeneruj klucz publiczny i klucz prywatny: pierwszy będzie przechowywany na serwerze, do którego mamy zamiar uzyskać dostęp i jak wskazuje jego nazwa możemy go wysłać lub udostępnić, a drugi na urządzeniu (komputer, smartfon, tablet) z którego mamy zamiar uzyskać dostęp do wspomnianego serwera i musi być przechowywane bardzo starannie i używane tylko przez nas lub przez osoby, którym ufamy.

W związku z tym, o czym wspomniałem w poprzednim akapicie, warto zaznaczyć, że tego typu rozwiązanie wymaga bardzo dużej odpowiedzialności w opiece nad urządzeniami, z których mamy zamiar wejść na serwer, a mianowicie, że każdy, kto ma dostęp do będą mogli wejść do niego bez konieczności znajomości hasła, co jest bardzo dużym zagrożeniem dla bezpieczeństwa. Po wyjaśnieniu tego, zobaczmy, jak możemy zacząć, a w tym celu pierwszą rzeczą jest zainstalowanie demona SSH na serwerze:

# apt-get install openssh-server

Teraz musimy stworzyć katalog .ssh w katalogu użytkownika:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ HOME / .ssh

# touch $ HOME / .ssh / authoris_keys

Edytujemy plik / etc / ssh / sshd_config i sprawdzamy, czy następujące wiersze są takie, jakie są:

PubkeyAuthentication tak

AuthorizedKeysFile% h / .ssh / authorized_keys

Teraz udajemy się do klienta i wykonujemy:

ssh-keygen -t rsa

Zostaniemy poinformowani, że klucz jest tworzony i zostaniemy poproszeni o wpisanie pliku, w którym będzie on przechowywany (domyślnie będzie on w naszym domu, w folderze o nazwie /.ssh/id_rsa). Możemy nacisnąć Enter, ponieważ ta lokalizacja doskonale nam służy, a następnie dwukrotnie wciskamy Enter wprowadź hasło ponieważ pamiętajmy, że będziemy wprowadzać zdalnie bez wprowadzania żadnych danych, więc nie chcemy też żadnej frazy.

Teraz, gdy mamy klucz publiczny, musimy udostępnić go komputerom, z którymi mamy zamiar się połączyć. Zakładając, że serwer o którym mówimy ma adres 192.168.1.100, to co musisz zrobić to:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

Po skopiowaniu zostaniemy zaproszeni wykonaj zdalne logowanie, aby przetestować klucze, i należy to wziąć pod uwagę w tym przypadku korzeń Jest to konto, za pomocą którego mamy zamiar uzyskać dostęp do serwera, więc jeśli chcemy to zrobić z innym użytkownikiem, musimy zmodyfikować root dla konta użytkownika, z którym zamierzamy wykonać dostęp przez SSH.

Teraz musimy tylko zrestartować serwer SSH, aby przyjął nową konfigurację:

# /etc/init.d/ssh uruchom ponownie

Odtąd, jeśli chcemy uzyskać dostęp do drugiego serwera i robimy to bez podawania hasła, wystarczy wysłać mu klucz publiczny, którym po prostu powtarzamy ostatni krok, w razie potrzeby zmieniając użytkownika i adres IP:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   osuszacz powiedział

    Dzięki za informację, ale nic… nie ma mowy….
    Próbowałem przez cały ranek i zawsze prosi o podanie hasła.
    Jakiś czas temu próbowałem i zostawiłem to jako niemożliwe z tego samego powodu….
    Tworzę klucz na moim Macbooku, kopiuję go do mojej maliny w ~ / .ssh / AuthorizedKeys
    Konfiguruję sshd.conf z publicznym uwierzytelnianiem i sprawdzam, czy katalog kluczy jest dokładnie tam, gdzie są klucze. Restartuję malinę i po podłączeniu ponownie pyta mnie o hasło
    Co może zawieść?

    1.    osuszacz powiedział

      Po kilku godzinach próbowania wielu rzeczy odkryłem, że z moim utworzonym użytkownikiem to nigdy nie działa, ale z domyślnym użytkownikiem o nazwie „ubuntu” działa za pierwszym razem.
      Jakieś wyjaśnienia, dlaczego tak się może stać?
      Saludos y gracias