Condividi tramite


Connessione ai nodi del cluster

È possibile accedere in remoto a un nodo del cluster usando SSH per i nodi Linux e RDP per i nodi Windows.

Il pulsante Connetti nel riquadro di gestione del cluster fornisce un stringa di connessione per l'accesso al nodo. Ad esempio, per accedere a un nodo head del cluster, selezionare il nodo master nel riquadro di gestione del cluster e fare clic sul pulsante Connetti :

Pulsante Connetti nodo master CycleCloud

Nella finestra popup viene visualizzato il stringa di connessione si userà per connettersi al cluster:

Schermata di connessione del nodo master CycleCloud

Copiare la stringa di connessione appropriata e usare il client SSH o l'interfaccia della riga di comando di CycleCloud per connettersi al nodo master.

Il pulsante Connetti nel riquadro di gestione del cluster fornisce un stringa di connessione per l'accesso al nodo. Ad esempio, per accedere a un nodo head del cluster, selezionare il nodo dell'utilità di pianificazione nel riquadro di gestione del cluster e fare clic sul pulsante Connetti :

Pulsante Connetti nodo master CycleCloud

Nella finestra popup viene visualizzato il stringa di connessione si userà per connettersi al cluster:

Schermata di connessione del nodo master CycleCloud

Copiare la stringa di connessione appropriata e usare il client SSH o l'interfaccia della riga di comando di CycleCloud per connettersi al nodo master.

Accesso ai nodi del cluster in una subnet privata

È possibile usare comandi cyclecloud connect client SSH non elaborati per accedere ai nodi che si trovano all'interno di una subnet privata della rete virtuale. Queste istruzioni presuppongono che si usi SSH con l'autenticazione a chiave pubblica. Questo è tipico per i nodi Linux. Per Windows, è possibile usare questo metodo per configurare un tunnel RDP.

Prima di tutto, rendere la chiave privata accessibile al nodo di destinazione. Il modo più semplice consiste nell'eseguire un agente SSH nel computer personale.

Avviso

La chiave privata non deve mai lasciare il computer personale. Negli esempi seguenti la chiave privata non lascia mai il computer. L'agente usa questa opzione per rispondere alle problematiche di autenticazione inviate dal nodo remoto.

Dal computer locale avviare l'agente con il ssh-agent comando :

exec ssh-agent bash

Se la chiave privata non è la chiave privata predefinita (~/.ssh/id_rsa o ~/.ssh/identity), aggiungerla all'agente:

ssh-add PATH_TO_KEYPAIR

Questi comandi devono essere eseguiti una sola volta (o dopo il riavvio).

Uso di cyclecloud connect

È possibile connettersi a un nodo tramite un bastion server specificando l'indirizzo IP nella riga di comando:

cyclecloud connect htcondor-scheduler --bastion-host 1.1.1.1

Il comando precedente presuppone cyclecloud come nome utente, 22 come porta, e carica la chiave SSH predefinita. Per personalizzare questi valori, vedere le opzioni della --bastion-* Guida per il comando dell'interfaccia dellacyclecloud riga di comando.

In alternativa, l'interfaccia della riga di comando di CycleCloud può rilevare automaticamente l'host bastion se si aggiunge la direttiva seguente a ~/.cycle/config.ini:

[cyclecloud]
bastion_auto_detect = true

Con la direttiva precedente, è possibile eseguire cyclecloud connect htcondor-scheduler senza specificare dettagli sul server bastion.

È anche possibile usare cyclecloud connect per connettere una macchina virtuale Windows. L'esecuzione del comando seguente creerà una connessione RDP tramite un tunnel SSH. Inoltre, avvierà il client RDP Microsoft in OSX e Windows:

cyclecloud connect windows-execute-1

Nota

CycleCloud sceglie una porta temporanea inutilizzata per il tunnel alla macchina virtuale Windows.

È possibile configurare il cyclecloud comando per usare un singolo bastion host per tutte le connessioni:

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

Uso di comandi SSH non elaborati

È possibile connettersi a un server privato tramite il bastion server usando l'inoltro dell'agente:

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

Questo si connette al bastion e quindi esegue di nuovo SSH, quindi si ottiene un terminale nella macchina virtuale di destinazione. Potrebbe essere necessario specificare un utente diverso dalla cyclecloud macchina virtuale se il cluster è configurato in modo diverso. L'argomento -A inoltra la connessione dell'agente in modo che la chiave privata nel computer locale venga usata automaticamente. Si noti che l'inoltro dell'agente è una catena, quindi il secondo comando SSH include -A anche in modo che tutte le connessioni SSH successive avviate dalla macchina virtuale di destinazione usino anche la chiave privata locale.

Connessione ai servizi nella macchina virtuale di destinazione

È possibile usare la connessione SSH per connettersi ai servizi nella macchina virtuale di destinazione, ad esempio Desktop remoto, un database e così via. Ad esempio, se la macchina virtuale di destinazione è Windows, è possibile creare un tunnel desktop remoto connettendosi alla macchina virtuale di destinazione con un comando SSH simile riportato sopra, usando l'argomento -L :

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

Verrà eseguito il tunneling della porta 3389 nella destinazione a 33890 nel computer locale. Quindi, se ci si connette a localhost:33890 si sarà effettivamente connessi alla macchina virtuale di destinazione.