Udostępnij za pośrednictwem


Nawiązywanie połączenia z węzłami klastra

Dostęp zdalny do węzła klastra można uzyskać przy użyciu protokołu SSH dla węzłów systemu Linux i protokołu RDP dla węzłów systemu Windows.

Przycisk Połącz w okienku zarządzania klastrem zawiera parametry połączenia na potrzeby uzyskiwania dostępu do węzła. Aby na przykład uzyskać dostęp do węzła głównego klastra, wybierz węzeł główny w okienku zarządzania klastrem i kliknij przycisk Połącz :

Przycisk Połącz węzła głównego usługi CycleCloud

W oknie podręcznym zostanie wyświetlona parametry połączenia używana do nawiązywania połączenia z klastrem:

Ekran połączenia węzła głównego usługi CycleCloud

Skopiuj odpowiednie połączenie i użyj klienta SSH lub interfejsu wiersza polecenia CycleCloud, aby nawiązać połączenie z węzłem głównym.

Przycisk Połącz w okienku zarządzania klastrem zawiera parametry połączenia na potrzeby uzyskiwania dostępu do węzła. Aby na przykład uzyskać dostęp do węzła głównego klastra, wybierz węzeł harmonogramu w okienku zarządzania klastrem i kliknij przycisk Połącz :

Przycisk Połącz węzła głównego usługi CycleCloud

W oknie podręcznym zostanie wyświetlona parametry połączenia używana do nawiązywania połączenia z klastrem:

Ekran połączenia węzła głównego usługi CycleCloud

Skopiuj odpowiednie połączenie i użyj klienta SSH lub interfejsu wiersza polecenia CycleCloud, aby nawiązać połączenie z węzłem głównym.

Uzyskiwanie dostępu do węzłów klastra w podsieci prywatnej

Możesz użyć cyclecloud connect lub nieprzetworzonych poleceń klienta SSH, aby uzyskać dostęp do węzłów znajdujących się w podsieci prywatnej sieci wirtualnej. W tych instrukcjach założono, że używasz protokołu SSH z uwierzytelnianiem za pomocą klucza publicznego. Jest to typowe dla węzłów systemu Linux. W przypadku systemu Windows można użyć tej metody do skonfigurowania tunelu RDP.

Najpierw ustaw klucz prywatny na dostępny dla węzła docelowego. Najprostszym sposobem jest uruchomienie agenta SSH na komputerze osobistym.

Ostrzeżenie

Klucz prywatny nigdy nie powinien opuszczać maszyny osobistej! W poniższych przykładach klucz prywatny nigdy nie opuszcza maszyny. Agent używa tego do reagowania na wyzwania uwierzytelniania wysyłane przez węzeł zdalny.

Na komputerze lokalnym uruchom agenta za ssh-agent pomocą polecenia :

exec ssh-agent bash

Jeśli klucz prywatny nie jest domyślnym kluczem prywatnym (~/.ssh/id_rsa lub ~/.ssh/identity), dodaj go do agenta:

ssh-add PATH_TO_KEYPAIR

Te polecenia muszą być uruchamiane tylko raz (lub po ponownym uruchomieniu).

Korzystanie z akcji cyclecloud connect

Połączenie z węzłem można nawiązać za pośrednictwem serwera bastionu, określając adres IP w wierszu polecenia:

cyclecloud connect htcondor-scheduler --bastion-host 1.1.1.1

Powyższe polecenie przyjmuje cyclecloud jako nazwę użytkownika, 22 jako port i ładuje domyślny klucz SSH. Aby dostosować te wartości, zobacz --bastion-* opcje pomocy dla polecenia interfejsucyclecloud wiersza polecenia.

Alternatywnie interfejs wiersza polecenia CycleCloud może wykryć hosta bastionu, jeśli dodasz następującą dyrektywę do elementu ~/.cycle/config.ini:

[cyclecloud]
bastion_auto_detect = true

W powyższej dyrektywie można uruchomić bez cyclecloud connect htcondor-scheduler określania szczegółowych informacji o serwerze bastionu.

Można również użyć do nawiązania połączenia z maszyną wirtualną z cyclecloud connect systemem Windows. Wykonanie następującego polecenia spowoduje utworzenie połączenia RDP za pośrednictwem tunelu SSH. Ponadto zostanie uruchomiony klient RDP firmy Microsoft w systemach OSX i Windows:

cyclecloud connect windows-execute-1

Uwaga

Usługa CycleCloud wybiera nieużywany port efemeryczny dla tunelu do maszyny wirtualnej z systemem Windows.

Można skonfigurować cyclecloud polecenie tak, aby używało jednego hosta bastionu dla wszystkich połączeń:

[cyclecloud]
bastion_host = 1.1.1.1
bastion_user = example_user
bastion_key = ~/.ssh/example_key.pem
bastion_port = 222

Używanie nieprzetworzonych poleceń SSH

Połączenie z serwerem prywatnym można nawiązać za pośrednictwem serwera bastionu przy użyciu przekazywania agenta:

ssh -A -t cyclecloud@BASTION_SERVER_IP ssh -A cyclecloud@TARGET_SERVER_IP

Spowoduje to połączenie z bastionem, a następnie natychmiast uruchomi protokół SSH, aby uzyskać terminal na docelowej maszynie wirtualnej. Może być konieczne określenie użytkownika innego niż cyclecloud na maszynie wirtualnej, jeśli klaster jest skonfigurowany inaczej. Argument -A przekazuje połączenie agenta, aby klucz prywatny na maszynie lokalnej był używany automatycznie. Należy pamiętać, że przekazywanie agenta jest łańcuchem, więc drugie polecenie SSH zawiera -A również tak, aby wszystkie kolejne połączenia SSH inicjowane z docelowej maszyny wirtualnej również używały lokalnego klucza prywatnego.

Nawiązywanie połączenia z usługami na docelowej maszynie wirtualnej

Możesz użyć połączenia SSH, aby nawiązać połączenie z usługami na docelowej maszynie wirtualnej, takiej jak pulpit zdalny, baza danych itp. Jeśli na przykład docelowa maszyna wirtualna to Windows, możesz utworzyć tunel pulpitu zdalnego, łącząc się z docelową maszyną wirtualną przy użyciu podobnego polecenia SSH z powyższego, używając argumentu -L :

ssh -A -t cyclecloud@BASTION_SERVER_IP  -L 33890:TARGET:3389 ssh -A cyclecloud@TARGET_SERVER_IP

Spowoduje to tunelowanie portu 3389 na komputerze lokalnym do 33890. Następnie po nawiązaniu połączenia localhost:33890 z docelową maszyną wirtualną zostanie nawiązane połączenie.