Tworzenie połączenia SSH z maszyną wirtualną z systemem Windows przy użyciu usługi Azure Bastion

W tym artykule pokazano, jak bezpiecznie i bezproblemowo utworzyć połączenie SSH z maszynami wirtualnymi z systemem Windows znajdującymi się w sieci wirtualnej platformy Azure bezpośrednio za pośrednictwem witryny Azure Portal. W przypadku korzystania z usługi Azure Bastion maszyny wirtualne nie wymagają klienta, agenta ani dodatkowego oprogramowania. Możesz również nawiązać połączenie z maszyną wirtualną z systemem Windows przy użyciu protokołu RDP. Aby uzyskać informacje, zobacz Tworzenie połączenia RDP z maszyną wirtualną z systemem Windows.

Usługa Azure Bastion zapewnia bezpieczną łączność ze wszystkimi maszynami wirtualnymi w sieci wirtualnej, w której jest aprowizowana. Usługa Azure Bastion chroni maszyny wirtualne przed ujawnieniem portów RDP/SSH na zewnątrz, jednocześnie zapewniając bezpieczny dostęp przy użyciu protokołu RDP/SSH. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Bastion?.

Uwaga

Jeśli chcesz utworzyć połączenie SSH z maszyną wirtualną z systemem Windows, usługa Azure Bastion musi być skonfigurowana przy użyciu jednostki SKU w warstwie Standardowa.

Podczas nawiązywania połączenia z maszyną wirtualną z systemem Windows przy użyciu protokołu SSH można użyć zarówno nazwy użytkownika/hasła, jak i kluczy SSH do uwierzytelniania.

Klucz prywatny SSH musi mieć format rozpoczynający się od i kończący się "-----BEGIN RSA PRIVATE KEY-----" ciągiem "-----END RSA PRIVATE KEY-----".

Wymagania wstępne

Upewnij się, że skonfigurowaliśmy hosta usługi Azure Bastion dla sieci wirtualnej, w której znajduje się maszyna wirtualna. Aby uzyskać więcej informacji, zobacz Tworzenie hosta usługi Azure Bastion. Po aprowizacji i wdrożeniu usługi Bastion w sieci wirtualnej można jej użyć do nawiązania połączenia z dowolną maszyną wirtualną w tej sieci wirtualnej.

Aby połączyć protokół SSH z maszyną wirtualną z systemem Windows, należy również upewnić się, że:

  • Na maszynie wirtualnej z systemem Windows działa system Windows Server 2019 lub nowszy.
  • Masz zainstalowany i uruchomiony serwer OpenSSH na maszynie wirtualnej z systemem Windows. Aby dowiedzieć się, jak to zrobić, zobacz Instalowanie protokołu OpenSSH.
  • Usługa Azure Bastion została skonfigurowana do korzystania z jednostki SKU w warstwie Standardowa.

Wymagane role

Aby nawiązać połączenie, wymagane są następujące role:

  • Rola czytelnika na maszynie wirtualnej
  • Rola czytelnika na karcie sieciowej z prywatnym adresem IP maszyny wirtualnej
  • Rola czytelnika na zasobie usługi Azure Bastion
  • Rola czytelnika w sieci wirtualnej docelowej maszyny wirtualnej (jeśli wdrożenie usługi Bastion znajduje się w równorzędnej sieci wirtualnej).

Porty

Aby nawiązać połączenie z maszyną wirtualną z systemem Windows za pośrednictwem protokołu SSH, musisz mieć otwarte następujące porty na maszynie wirtualnej:

  • Port przychodzący: SSH (22) lub
  • Port przychodzący: wartość niestandardowa (następnie należy określić ten port niestandardowy podczas nawiązywania połączenia z maszyną wirtualną za pośrednictwem usługi Azure Bastion)

Aby uzyskać dodatkowe wymagania, zobacz Często zadawane pytania dotyczące usługi Azure Bastion.

Obsługiwane konfiguracje

Obecnie usługa Azure Bastion obsługuje tylko łączenie się z maszynami wirtualnymi z systemem Windows za pośrednictwem protokołu SSH przy użyciu protokołu OpenSSH.

Strona połączenia usługi Bastion

  1. W witrynie Azure Portal przejdź do maszyny wirtualnej, z którą chcesz nawiązać połączenie. Na stronie Przegląd wybierz pozycję Połączenie, a następnie wybierz pozycję Bastion z listy rozwijanej, aby otworzyć stronę połączenia usługi Bastion. Możesz również wybrać pozycję Bastion w okienku po lewej stronie.

    Screenshot shows the overview for a virtual machine in Azure portal with Connect selected.

  2. Na stronie Połączenie usługi Bastion kliknij strzałkę Ustawienia Połączenie ion, aby rozwinąć wszystkie dostępne ustawienia. Zwróć uwagę, że jeśli używasz jednostki SKU usługi Bastion w warstwie Standardowa , masz więcej dostępnych ustawień.

    Screenshot shows connection settings.

  3. Uwierzytelnianie i nawiązywanie połączenia przy użyciu jednej z metod w poniższych sekcjach.

Nazwa użytkownika i hasło

Wykonaj poniższe kroki, aby uwierzytelnić się przy użyciu nazwy użytkownika i hasła.

Screenshot shows Password authentication.

  1. Aby uwierzytelnić się przy użyciu nazwy użytkownika i hasła, skonfiguruj następujące ustawienia:

    • Protokół: wybierz pozycję SSH.
    • Port: wprowadź numer portu. Niestandardowe połączenia portów są dostępne tylko dla jednostki SKU w warstwie Standardowa.
    • Typ uwierzytelniania: wybierz pozycję Hasło z listy rozwijanej.
    • Nazwa użytkownika: wprowadź nazwę użytkownika.
    • Hasło: wprowadź hasło.
  2. Aby pracować z maszyną wirtualną na nowej karcie przeglądarki, wybierz pozycję Otwórz na nowej karcie przeglądarki.

  3. Kliknij Połączenie, aby nawiązać połączenie z maszyną wirtualną.

Klucz prywatny z pliku lokalnego

Wykonaj poniższe kroki, aby uwierzytelnić się przy użyciu klucza prywatnego SSH z pliku lokalnego.

Screenshot shows private key from local file authentication.

  1. Aby uwierzytelnić się przy użyciu klucza prywatnego z pliku lokalnego, skonfiguruj następujące ustawienia:

    • Protokół: wybierz pozycję SSH.
    • Port: wprowadź numer portu. Niestandardowe połączenia portów są dostępne tylko dla jednostki SKU w warstwie Standardowa.
    • Typ uwierzytelniania: wybierz pozycję Klucz prywatny SSH z listy rozwijanej Plik lokalny.
    • Plik lokalny: wybierz plik lokalny.
    • Hasło SSH: wprowadź hasło SSH w razie potrzeby.
  2. Aby pracować z maszyną wirtualną na nowej karcie przeglądarki, wybierz pozycję Otwórz na nowej karcie przeglądarki.

  3. Kliknij Połączenie, aby nawiązać połączenie z maszyną wirtualną.

Hasło — Azure Key Vault

Wykonaj poniższe kroki, aby uwierzytelnić się przy użyciu hasła z usługi Azure Key Vault.

Screenshot shows password from Azure Key Vault authentication.

  1. Aby uwierzytelnić się przy użyciu hasła z usługi Azure Key Vault, skonfiguruj następujące ustawienia:

    • Protokół: wybierz pozycję SSH.

    • Port: wprowadź numer portu. Niestandardowe połączenia portów są dostępne tylko dla jednostki SKU w warstwie Standardowa.

    • Typ uwierzytelniania: z listy rozwijanej wybierz pozycję Hasło z usługi Azure Key Vault .

    • Nazwa użytkownika: wprowadź nazwę użytkownika.

    • Subskrypcja: wybierz subskrypcję.

    • Azure Key Vault: wybierz usługę Key Vault.

    • Wpis tajny usługi Azure Key Vault: wybierz wpis tajny usługi Key Vault zawierający wartość klucza prywatnego SSH.

      • Jeśli nie skonfigurowaliśmy zasobu usługi Azure Key Vault, zobacz Tworzenie magazynu kluczy i przechowywanie klucza prywatnego SSH jako wartości nowego wpisu tajnego usługi Key Vault.

      • Upewnij się, że masz listę i uzyskaj dostęp do wpisów tajnych przechowywanych w zasobie usługi Key Vault. Aby przypisać i zmodyfikować zasady dostępu dla zasobu usługi Key Vault, zobacz Przypisywanie zasad dostępu usługi Key Vault.

        Uwaga

        Zapisz klucz prywatny SSH jako wpis tajny w usłudze Azure Key Vault przy użyciu środowiska programu PowerShell lub interfejsu wiersza polecenia platformy Azure. Przechowywanie klucza prywatnego za pośrednictwem środowiska portalu usługi Azure Key Vault zakłóca formatowanie i spowoduje niepowodzenie logowania. Jeśli klucz prywatny został przechowywany jako klucz tajny przy użyciu środowiska portalu i nie masz już dostępu do oryginalnego pliku klucza prywatnego, zobacz Aktualizowanie klucza SSH w celu zaktualizowania dostępu do docelowej maszyny wirtualnej przy użyciu nowej pary kluczy SSH.

  2. Aby pracować z maszyną wirtualną na nowej karcie przeglądarki, wybierz pozycję Otwórz na nowej karcie przeglądarki.

  3. Kliknij Połączenie, aby nawiązać połączenie z maszyną wirtualną.

Klucz prywatny — Azure Key Vault

Wykonaj poniższe kroki, aby uwierzytelnić się przy użyciu klucza prywatnego przechowywanego w usłudze Azure Key Vault.

Screenshot shows Private key stored in Azure Key Vault authentication.

  1. Aby uwierzytelnić się przy użyciu klucza prywatnego przechowywanego w usłudze Azure Key Vault, skonfiguruj następujące ustawienia:

    • Protokół: wybierz pozycję SSH.

    • Port: wprowadź numer portu. Niestandardowe połączenia portów są dostępne tylko dla jednostki SKU w warstwie Standardowa.

    • Typ uwierzytelniania: wybierz z listy rozwijanej pozycję Klucz prywatny SSH z usługi Azure Key Vault .

    • Nazwa użytkownika: wprowadź nazwę użytkownika.

    • Subskrypcja: wybierz subskrypcję.

    • Azure Key Vault: wybierz usługę Key Vault.

      • Jeśli nie skonfigurowaliśmy zasobu usługi Azure Key Vault, zobacz Tworzenie magazynu kluczy i przechowywanie klucza prywatnego SSH jako wartości nowego wpisu tajnego usługi Key Vault.

      • Upewnij się, że masz listę i uzyskaj dostęp do wpisów tajnych przechowywanych w zasobie usługi Key Vault. Aby przypisać i zmodyfikować zasady dostępu dla zasobu usługi Key Vault, zobacz Przypisywanie zasad dostępu usługi Key Vault.

        Uwaga

        Zapisz klucz prywatny SSH jako wpis tajny w usłudze Azure Key Vault przy użyciu środowiska programu PowerShell lub interfejsu wiersza polecenia platformy Azure. Przechowywanie klucza prywatnego za pośrednictwem środowiska portalu usługi Azure Key Vault zakłóca formatowanie i spowoduje niepowodzenie logowania. Jeśli klucz prywatny został przechowywany jako klucz tajny przy użyciu środowiska portalu i nie masz już dostępu do oryginalnego pliku klucza prywatnego, zobacz Aktualizowanie klucza SSH w celu zaktualizowania dostępu do docelowej maszyny wirtualnej przy użyciu nowej pary kluczy SSH.

    • Wpis tajny usługi Azure Key Vault: wybierz wpis tajny usługi Key Vault zawierający wartość klucza prywatnego SSH.

  2. Aby pracować z maszyną wirtualną na nowej karcie przeglądarki, wybierz pozycję Otwórz na nowej karcie przeglądarki.

  3. Kliknij Połączenie, aby nawiązać połączenie z maszyną wirtualną.

Następne kroki

Aby uzyskać więcej informacji na temat usługi Azure Bastion, zobacz Często zadawane pytania dotyczące usługi Bastion.