Freigeben über


Herstellen einer Verbindung mit Clusterknoten

Sie können remote auf einen Clusterknoten zugreifen, indem Sie SSH für Linux-Knoten und RDP für Windows-Knoten verwenden.

Die Schaltfläche Verbinden im Bereich Clusterverwaltung bietet eine Verbindungszeichenfolge für den Zugriff auf den Knoten. Um beispielsweise auf einen Clusterhauptknoten zuzugreifen, wählen Sie im Clusterverwaltungsbereich den Knoten master aus, und klicken Sie auf die Schaltfläche Verbinden:

Schaltfläche

Im Popupfenster wird die Verbindungszeichenfolge angezeigt, die Sie zum Herstellen einer Verbindung mit dem Cluster verwenden würden:

CycleCloud-Masterknotenverbindungsbildschirm

Kopieren Sie die entsprechende Verbindungszeichenfolge, und verwenden Sie entweder Ihren SSH-Client oder die CycleCloud CLI, um eine Verbindung mit dem master Knoten herzustellen.

Die Schaltfläche Verbinden im Bereich Clusterverwaltung bietet eine Verbindungszeichenfolge für den Zugriff auf den Knoten. Wenn Sie beispielsweise auf einen Clusterhauptknoten zugreifen möchten, wählen Sie im Clusterverwaltungsbereich den Knoten Scheduler aus, und klicken Sie auf die Schaltfläche Verbinden :

Schaltfläche

Im Popupfenster wird die Verbindungszeichenfolge angezeigt, die Sie zum Herstellen einer Verbindung mit dem Cluster verwenden würden:

CycleCloud-Masterknotenverbindungsbildschirm

Kopieren Sie die entsprechende Verbindungszeichenfolge, und verwenden Sie entweder Ihren SSH-Client oder die CycleCloud CLI, um eine Verbindung mit dem master Knoten herzustellen.

Zugreifen auf Clusterknoten in einem privaten Subnetz

Sie können entweder cyclecloud connect oder unformatierte SSH-Clientbefehle verwenden, um auf Knoten zuzugreifen, die sich in einem privaten Subnetz Ihres VNET befinden. In diesen Anweisungen wird davon ausgegangen, dass Sie SSH mit Authentifizierung mit öffentlichem Schlüssel verwenden. Dies ist typisch für Linux-Knoten. Unter Windows können Sie diese Methode verwenden, um einen RDP-Tunnel einzurichten.

Machen Sie zunächst den privaten Schlüssel für den Zielknoten zugänglich. Die einfachste Möglichkeit besteht darin, einen SSH-Agent auf Ihrem persönlichen Computer auszuführen.

Warnung

Der private Schlüssel sollte niemals Ihren persönlichen Computer verlassen! In den folgenden Beispielen verlässt Ihr privater Schlüssel niemals Ihren Computer. Der Agent verwendet dies, um auf Authentifizierungsanforderungen zu reagieren, die vom Remoteknoten gesendet werden.

Starten Sie den Agent auf Ihrem lokalen Computer mit dem ssh-agent folgenden Befehl:

exec ssh-agent bash

Wenn der private Schlüssel nicht Ihr privater Standardschlüssel (~/.ssh/id_rsa oder ~/.ssh/identity) ist, fügen Sie ihn dem Agent hinzu:

ssh-add PATH_TO_KEYPAIR

Diese Befehle müssen nur einmal (oder nach dem Neustart) ausgeführt werden.

Verwenden von cyclecloud connect

Sie können eine Verbindung mit einem Knoten über einen Bastionserver herstellen, indem Sie die IP-Adresse in der Befehlszeile angeben:

cyclecloud connect htcondor-scheduler --bastion-host 1.1.1.1

Der obige Befehl setzt als Benutzername als 22 Port voraus cyclecloud und lädt Ihren STANDARD-SSH-Schlüssel. Informationen zum Anpassen dieser Werte finden Sie in den --bastion-* Hilfeoptionen für den cyclecloud CLI-Befehl.

Alternativ kann die CycleCloud CLI den Bastionhost für Sie erkennen, wenn Sie ihrer ~/.cycle/config.inidie folgende Direktive hinzufügen:

[cyclecloud]
bastion_auto_detect = true

Mit der obigen Anweisung können Sie ausführen cyclecloud connect htcondor-scheduler , ohne Details zum Bastionserver anzugeben.

Sie können auch verwenden cyclecloud connect , um eine Windows-VM zu verbinden. Wenn Sie den folgenden Befehl ausführen, wird eine RDP-Verbindung über einen SSH-Tunnel erstellt. Darüber hinaus wird der Microsoft RDP-Client unter OSX und Windows gestartet:

cyclecloud connect windows-execute-1

Hinweis

CycleCloud wählt einen nicht verwendeten kurzlebigen Port für den Tunnel zur Windows-VM aus.

Sie können den cyclecloud Befehl so konfigurieren, dass ein einzelner Bastionhost für alle Ihre Verbindungen verwendet wird:

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

Verwenden von unformatierten SSH-Befehlen

Sie können eine Verbindung mit einem privaten Server über den Bastionserver mithilfe der Agentweiterleitung herstellen:

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

Dadurch wird eine Verbindung mit der Bastion hergestellt und dann sofort wieder SSH ausgeführt, sodass Sie ein Terminal auf der Ziel-VM erhalten. Möglicherweise müssen Sie einen anderen Benutzer als cyclecloud auf dem virtuellen Computer angeben, wenn Ihr Cluster anders konfiguriert ist. Mit dem Argument -A wird die Agent-Verbindung weitergeleitet, damit Ihr privater Schlüssel automatisch auf dem lokalen Computer verwendet wird. Beachten Sie, dass die Agentweiterleitung eine Kette ist, sodass der zweite SSH-Befehl auch enthält -A , sodass alle nachfolgenden SSH-Verbindungen, die von der Ziel-VM initiiert werden, auch Ihren lokalen privaten Schlüssel verwenden.

Herstellen einer Verbindung mit Diensten auf der Ziel-VM

Sie können die SSH-Verbindung verwenden, um eine Verbindung mit Diensten auf der Ziel-VM herzustellen, z. B. einem Remotedesktop, einer Datenbank usw. Wenn die Ziel-VM beispielsweise Windows ist, können Sie einen Remotedesktoptunnel erstellen, indem Sie mit einem ähnlichen SSH-Befehl von oben eine Verbindung mit der Ziel-VM herstellen, indem Sie das -L Argument verwenden:

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

Dadurch wird Port 3389 auf dem Ziel mit 33890 auf Ihrem lokalen Computer tunnelt. Wenn Sie dann eine Verbindung mit herstellen, localhost:33890 wird tatsächlich eine Verbindung mit der Ziel-VM hergestellt.