Jak tworzyć i używać kluczy uwierzytelniających dla połączeń SSH z instancjami Public Cloud
Informacje o tłumaczeniu
Tłumaczenie zostało wygenerowane automatycznie przez system naszego partnera SYSTRAN. W niektórych przypadkach mogą wystąpić nieprecyzyjne sformułowania, na przykład w tłumaczeniu nazw przycisków lub szczegółów technicznych. W przypadku jakichkolwiek wątpliwości zalecamy zapoznanie się z angielską/francuską wersją przewodnika. Jeśli chcesz przyczynić się do ulepszenia tłumaczenia, kliknij przycisk “Zgłoś propozycję modyfikacji” na tej stronie.
Wprowadzenie
Protokół SSH umożliwia korzystanie z bezpiecznego kanału komunikacyjnego w sieciach publicznych w architekturze klient-serwer. Do uwierzytelnienia połączeń SSH między dwoma zaufanymi hostami, takimi jak komputer stacjonarny i serwer zdalny, można użyć par kluczy.
Zestaw kluczy składa się z klucza publicznego, który można udostępniać, oraz klucza prywatnego, który pozostaje tajny. Umieszczony na serwerze klucz publiczny pozwala każdemu klientowi z odpowiednim kluczem prywatnym na zalogowanie się bez konieczności wprowadzania hasła.
Jest to zazwyczaj najlepszy kompromis między bezpieczeństwem i wygodą instancji Public Cloud a ich wartością domyślną.
Ten przewodnik wyjaśnia, jak tworzyć pary kluczy uwierzytelniania na urządzeniu lokalnym i zarządzać nimi oraz jak łączyć się z instancjami Public Cloud.
Wymagania początkowe
- Projekt Public Cloud na koncie OVHcloud
- Aplikacja do zdalnego połączenia kompatybilna z protokołem OpenSSH
Ten przewodnik nie dotyczy standardowych połączeń z systemami operacyjnymi Windows Server, ponieważ domyślnie łączą się one z Remote Desktop Protocol (RDP).
Więcej informacji znajdziesz w naszym przewodniku dotyczącym tworzenia instancji Public Cloud.
W praktyce
Tworzenie par kluczy dla połączeń OpenSSH
Poniższe instrukcje wyjaśniają, jak tworzyć pary kluczy do zdalnych połączeń za pomocą OpenSSH z wiersza poleceń i zarządzać nimi. Większość obecnych systemów operacyjnych zawiera tę funkcję bez konieczności instalowania dodatkowego oprogramowania.
Jeśli preferujesz graficzny interfejs użytkownika, dla każdego typu systemu operacyjnego możesz znaleźć wiele aplikacji, które umożliwiają łączenie się ze zdalnymi hostami za pomocą protokołu OpenSSH.
Na przykład PuTTY to oprogramowanie open source z wieloma przydatnymi funkcjami. Dowiedz się, jak z niego korzystać podczas łączenia się z serwerami i instancjami OVHcloud, korzystając z naszego szczegółowego tutoriala:
Jeśli podczas próby logowania otrzymasz komunikat o błędzie, sprawdź, czy używasz poprawnych ustawień i informacji logowania oraz czy system i zainstalowane aplikacje są poprawnie zaktualizowane. Jeśli otrzymasz ostrzeżenie typu REMOTE HOST IDENTIFICATION HAS CHANGED, zapoznaj się z naszym przewodnikiem wprowadzającym do SSH.
Konfiguracja par kluczy z dystrybucji GNU/Linux lub macOS
Rozwiń tę sekcję
Otwórz aplikację wiersza poleceń (Terminal) na lokalnym urządzeniu.
Upewnij się, że masz folder o nazwie .ssh w katalogu $HOME. Jeśli taki folder nie istnieje, utwórz go:
Aby utworzyć parę kluczy, użyj polecenia ssh-keygen. Opcja-t umożliwia określenie metody szyfrowania.
Ed25519 jest uważany za najbezpieczniejszy, ale RSA jest wartościową alternatywą. Obie metody są kompatybilne z Panelem klienta OVHcloud.
Przykłady:
W poniższym wierszu polecenia można nadać nazwę nowo utworzonemu kluczowi lub użyć standardowej nazwy pliku:
Jeśli potwierdzisz przyciskiem Enter bez podania nazwy, zostanie użyta standardowa nazwa pliku (w tym przykładzie id_rsa).
Jeśli w przyszłości planowane jest użycie wielu par kluczy, wprowadź indywidualną nazwę pliku w celu zidentyfikowania klucza. Więcej informacji na ten temat można znaleźć poniżej w sekcji Zarządzanie wieloma kluczami uwierzytelniania na urządzeniu lokalnym.
Poniższe przykłady wyjściowe będą w dalszym ciągu używać nazw plików id_rsa i id_rsa.pub w celach ilustracyjnych.
Możesz zabezpieczyć klucz SSH przy użyciu tajnego hasła. Jest to zalecane w celu zwiększenia bezpieczeństwa.
Zdalny dostęp do instancji jest tak samo bezpieczny jak urządzenie klienckie przechowujące klucz prywatny. W związku z tym niezwykle ważna jest ochrona urządzenia i zawartych na nim kluczowych plików przed nieuprawnionym dostępem.
Dla większej wygody i bezpieczeństwa, przechowuj tajne hasła w menedżerze haseł na Twoim komputerze, takim jak rozwiązanie open source KeePass.
Domyślnie wszystkie klucze SSH są przechowywane w katalogu .ssh. Pliki klucza publicznego będą miały '.pub` dodane do nazwy pliku.
Aby wyświetlić i wyeksportować klucz publiczny, użyj polecenia cat w pliku klucza .pub lub otwórz go w edytorze tekstu.
Skopiuj ten ciąg klucza, aby dodać go do nowej instancji lub zaimportować do panelu klienta.
W terminalu macOS polecenia pbcopy i pbpaste umożliwiają szybsze zarządzanie ciągami kluczy. Na przykład, użyj tego polecenia, aby skopiować klucz z pliku id_rsa.pub do schowka:
pbcopy < ~/.ssh/id_rsa.pub
Zarządzanie wieloma kluczami uwierzytelniającymi na Twoim urządzeniu lokalnym
Do łączenia się z różnymi hostami zdalnymi lub urządzeniami sieci lokalnej można używać wielu par kluczy SSH.
Ponieważ wszystkie kluczowe pliki muszą znajdować się w folderze .ssh katalogu home twojego użytkownika, nazwy plików muszą być różne. Podczas tworzenia nowej pary kluczy i żądania podania nazwy pliku należy wprowadzić wybraną nazwę, na przykład nazwę instancji.
Przykład wyjścia:
Podczas nawiązywania połączenia z odpowiednim wystąpieniem określ nazwę pliku klucza prywatnego obok szczegółów użytkownika i serwera logowania:
Przykład:
Użycie pliku "config"
Alternatywą dla dodania opcji -i za każdym razem jest edycja pliku o nazwie config w folderze ~/.ssh. Umożliwia konfigurację szczegółów różnych połączeń (nazwa użytkownika, port, plik klucza, ustawienia opcjonalne, etc.)
Jeśli plik istnieje wewnątrz .ssh, prawdopodobnie zawiera już informacje. W zależności od środowiska pracy rozważ utworzenie kopii zapasowej oryginału.
Przykład wyjścia z widoku zawartości katalogu .ssh:
Plik config pozwala na zapisanie kilku połączeń SSH oraz ich indywidualnych ustawień, poza standardowymi wartościami. Wykorzystanie pełnego potencjału tego pliku może być skomplikowane, ponieważ jest to szczególnie przydatne dla zaawansowanych użytkowników, którzy zarządzają kilkoma serwerami.
Oto prosty przykład konfiguracji połączenia SSH z instancją.
Otwórz plik i dodaj następujące wiersze u góry:
Użyj poprawnego adresu IP i nazwy pliku klucza. Pierwszy wiersz, rozpoczynający się od Host, definiuje nazwę tego połączenia (instance w tym przykładzie).
Następnie możesz zalogować się do instancji, zastępując adres IP instancji nazwą aliasu identyfikującego to połączenie (Host):
Przykład:
W poprzednim przykładzie określono tylko IP wystąpienia i plik klucza, ale można dodać więcej szczegółów.
Aby skonfigurować połączenie SSH z drugim zdalnym hostem o nazwie użytkownika "rocky", zmodyfikowanym porcie SSH "49160" i kluczu prywatnym w pliku "myserver_rsa", rozszerz zawartość pliku, jak pokazano w poniższym przykładzie:
Następnie będziesz mógł zalogować się do drugiego hosta wprowadzając:
Więcej informacji na temat pliku config można znaleźć na odpowiedniej stronie man.
Konfiguracja par kluczy z urządzenia z systemem Windows
Rozwiń tę sekcję
Otwórz aplikację Wiersz poleceń, wpisując "cmd" na pasku wyszukiwania (lub otwórz PowerShell z menu Start).
Otwórz katalog .ssh aktywnego konta użytkownika systemu Windows (ścieżka domyślna: C:\Users\WindowsUsername\.ssh):
Aby utworzyć parę kluczy, użyj polecenia ssh-keygen. Opcja -t umożliwia określenie metody szyfrowania.
Ed25519 jest uważany za najbezpieczniejszy, ale RSA jest wartościową alternatywą. Obie metody są kompatybilne z Panelem klienta OVHcloud.
Przykłady:
Poniższy monit służy do nadania nazwy nowo utworzonemu kluczowi lub do użycia standardowej nazwy pliku:
Jeśli potwierdzisz przyciskiem Enter bez podania nazwy, zostanie użyta standardowa nazwa pliku (w tym przykładzie id_rsa).
Jeśli w przyszłości planowane jest użycie wielu par kluczy, wprowadź indywidualną nazwę pliku w celu zidentyfikowania klucza. Więcej informacji na ten temat można znaleźć poniżej w sekcji Zarządzanie wieloma kluczami uwierzytelniania na urządzeniu lokalnym.
Poniższe przykłady wyjściowe będą w dalszym ciągu używać nazw plików id_rsa i id_rsa.pub w celach ilustracyjnych.
Możesz zabezpieczyć klucz SSH przy użyciu tajnego hasła. Jest to zalecane w celu zwiększenia bezpieczeństwa.
Zdalny dostęp do instancji jest tak samo bezpieczny jak urządzenie klienckie przechowujące klucz prywatny. W związku z tym niezwykle ważna jest ochrona urządzenia i zawartych na nim kluczowych plików przed nieuprawnionym dostępem.
Dla większej wygody, przechowuj tajne hasła w menedżerze haseł na Twoim komputerze, takim jak rozwiązanie open source KeePass.
Domyślnie wszystkie klucze SSH są przechowywane w katalogu .ssh. Pliki klucza publicznego będą miały .pub dodane do nazwy pliku.
Plik kluczy można otworzyć za pomocą edytora tekstu (Notepad, Notepad++, etc.). W Eksploratorze plików Windows kliknij prawym przyciskiem myszy plik i wybierz opcję Otwórz za pomocą.
Można także użyć jednej z następujących komend (w katalogu\Users\WindowsUsername\.ssh):
cmd
powershell
Skopiuj ten ciąg klucza, aby dodać go do nowej instancji lub zaimportować do panelu klienta.
Korzystanie ze Schowka
Podczas pracy z wiersza polecenia Windows, można kliknąć prawym przyciskiem myszy wklejanie zawartości Schowka w oknie wiersza polecenia. Aby skopiować ciąg z okna wiersza polecenia, podświetl je, a następnie naciśnij klawisz Enter. Funkcje te można również znaleźć, klikając prawym przyciskiem myszy pasek menu w oknie wiersza polecenia.
Zarządzanie wieloma kluczami uwierzytelniającymi na Twoim urządzeniu lokalnym
Do łączenia się z różnymi hostami zdalnymi lub urządzeniami sieci lokalnej można używać wielu par kluczy SSH.
Ponieważ wszystkie kluczowe pliki muszą znajdować się w folderze .ssh w katalogu użytkowników systemu Windows, nazwy plików muszą być różne. Podczas tworzenia nowej pary kluczy i żądania nazwy pliku należy podać wybraną nazwę, na przykład nazwę instancji.
Przykład wyjścia:
Podczas nawiązywania połączenia z odpowiednim wystąpieniem określ nazwę pliku klucza prywatnego obok szczegółów użytkownika i serwera logowania:
Przykład:
Użycie pliku "config"
Alternatywą dla dodania opcji -i za każdym razem jest edycja pliku o nazwie config wewnątrz folderu C:\Users\Username\.ssh. Umożliwia konfigurację szczegółów różnych połączeń (nazwa użytkownika, port, plik klucza, ustawienia opcjonalne, etc.)
Jeśli plik istnieje wewnątrz .ssh, prawdopodobnie zawiera już informacje. W zależności od środowiska pracy rozważ utworzenie kopii zapasowej oryginału.
Przykład wyjścia z listy zawartości katalogussh:
Plik config pozwala na zapisanie kilku połączeń SSH oraz ich indywidualnych ustawień, poza standardowymi wartościami. Wykorzystanie pełnego potencjału tego pliku może być skomplikowane, ponieważ jest to szczególnie przydatne dla zaawansowanych użytkowników, którzy zarządzają kilkoma serwerami.
Oto prosty przykład konfiguracji połączenia SSH z instancją.
Otwórz plik i dodaj następujące wiersze u góry:
Użyj poprawnego adresu IP i nazwy pliku klucza. Pierwszy wiersz, rozpoczynający się od Host, definiuje nazwę tego połączenia (instance w tym przykładzie).
Następnie możesz zalogować się do instancji, zastępując adres IP instancji nazwą aliasu identyfikującego to połączenie (Host):
Przykład:
W poprzednim przykładzie określono tylko IP wystąpienia i plik klucza prywatnego, ale można dodać więcej szczegółów.
Aby skonfigurować połączenie SSH z drugim zdalnym hostem o nazwie użytkownika "rocky", zmodyfikowanym porcie SSH "49160" i kluczu prywatnym w pliku "myserver_rsa", rozszerz zawartość pliku, jak pokazano w poniższym przykładzie:
Następnie będziesz mógł zalogować się do drugiego hosta wprowadzając:
Więcej informacji na temat pliku config można znaleźć na odpowiedniej stronie man.
Dodawanie dodatkowych kluczy publicznych do uruchomionej instancji
Aby dodać klucze SSH dla innych użytkowników uzyskujących dostęp do Twojej instancji, powtórz kroki tworzenia klucza, ale użyj odpowiedniego folderu $HOME lub katalogu Windows Users danego użytkownika do tworzenia i przechowywania kluczy SSH (lub uruchom polecenia na urządzeniu dedykowanym tej osoby).
Szczegółowe informacje na temat tych kroków można znaleźć w przewodniku.
Sprawdź również
Jak utworzyć instancję Public Cloud i się z nią połączyć
Dowiedz się, jak rozpocząć korzystanie z połączeń SSH
Jak skonfigurować dodatkowe klucze SSH dla instancji
W przypadku wyspecjalizowanych usług (pozycjonowanie, rozwój, etc.) skontaktuj się z partnerami OVHcloud.
Jeśli chcesz otrzymywać wsparcie w zakresie konfiguracji i użytkowania Twoich rozwiązań OVHcloud, zapoznaj się z naszymi ofertami pomocy.
Dołącz do grona naszych użytkowników.