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
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ść?
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