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 :
Nella finestra popup viene visualizzato il stringa di connessione si userà per connettersi al cluster:
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 :
Nella finestra popup viene visualizzato il stringa di connessione si userà per connettersi al cluster:
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.