Connessione a un nodo cluster mediante SSH

Per connettersi a un nodo cluster Big Data Service tramite una shell dei comandi, utilizzare Secure Shell (SSH).

Una coppia di chiavi SSH viene creata quando viene creato un cluster e la chiave pubblica viene installata su tutti i nodi del cluster. Vedere Creazione di un cluster. Per informazioni sulla creazione di altre coppie di chiavi, vedere Gestione delle coppie di chiavi nelle istanze Linux.

Prerequisiti
Per utilizzare la shell SSH per connettersi a un cluster, è necessario:
  • Disporre dell'accesso alla chiave SSH privata associata a una chiave pubblica assegnata al cluster.

    Si noti inoltre che le autorizzazioni per il file di chiavi private devono consentire l'accesso in lettura/scrittura/esecuzione, ma impedire ad altri utenti di accedere al file. Ad esempio, per impostare le autorizzazioni appropriate, è possibile immettere chmod 600 ~/.ssh/my_keys/my_host_key_filename. La utility SSH ignora il file di chiavi private se le autorizzazioni non sono impostate correttamente e il file di chiavi private è accessibile ad altri utenti.

  • Conoscere l'indirizzo IP pubblico del nodo a cui si desidera connettersi. È possibile trovare l'indirizzo IP consultando la pagina Dettagli nodo nella console di Oracle Cloud. Vedere Recupero dei dettagli di un nodo cluster.
  • Assicurarsi che la porta 22 sia aperta. Vedere Definizione delle regole di sicurezza.
Connessione al cluster mediante SSH nella riga di comando:

Per connettersi a un nodo in una subnet pubblica:

  1. Utilizzare il comando seguente per impostare le autorizzazioni del file in modo che solo l'utente possa leggere il file.
    $ chmod 400 <private_key>

    <private_key> è il percorso completo e il nome del file che contiene la chiave privata associata al cluster a cui si desidera accedere.

  2. Utilizzare il comando SSH riportato di seguito per accedere al cluster.
    $ ssh –i <private_key> <username>@<public-ip-address>

    <private_key> è il percorso completo e il nome del file che contiene la chiave privata associata all'istanza a cui si desidera accedere.

    <username> è il nome predefinito per il cluster. Il nome utente predefinito è opc.

    <public-ip-address> è l'indirizzo IP pubblico del nodo cluster a cui si desidera accedere.

Nota

Se la chiave privata SSH non viene memorizzata nel file o nel percorso previsto dalla utility SSH (ad esempio, la utility SSH potrebbe prevedere la memorizzazione della chiave privata in ~/.ssh/id_rsa), è necessario specificare in modo esplicito il nome file e la posizione della chiave privata in uno dei due modi riportati di seguito.

  • Utilizzare l'opzione -i per specificare il nome e la posizione del file della chiave privata. Ad esempio, ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254
  • Aggiungere il nome file e la posizione della chiave privata a un file di configurazione SSH, ovvero il file di configurazione del client (~/.ssh/config), se esistente, o il file di configurazione del client a livello di sistema (/etc/ssh/ssh_config. Ad esempio, è possibile aggiungere quanto segue:Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename

Per ulteriori informazioni sul file di configurazione della utility SSH, immettere man ssh_config

Connessione ai nodi nelle subnet private mediante SSH

I nodi di lavoro nelle subnet private dispongono solo di indirizzi IP privati (non dispongono di indirizzi IP pubblici). È possibile accedervi solo da altre risorse all'interno della VCN. Si consiglia di utilizzare gli host Bastion per controllare l'accesso esterno (ad esempio SSH) ai nodi di lavoro nelle subnet private. Un host Bastion si trova in una subnet pubblica, ha un indirizzo IP pubblico ed è accessibile da Internet. Per ulteriori informazioni sugli host Bastion, consultare la documentazione Bastion.

Da SSH a nodi cluster BDS utilizzando il servizio Bastion:

  1. Creare un servizio Bastion utilizzando la stessa subnet del cluster in cui è stato creato.
  2. Eseguire il login alla tenancy cloud: selezionare Identità e sicurezza, selezionare Bastion e selezionare Crea bastion.
  3. Immettere il nome del bastion scelto e la subnet in cui viene creato il cluster BDS.
  4. In Lista di inclusione blocchi CIDR, immettere 0.0.0.0/0 che consente all'indirizzo IP del computer locale di accedere alla risorsa Bastion.
  5. In Mostra opzioni avanzate, impostare il TTL della sessione che è possibile creare in questo bastion utilizzando la proprietà, TTL (Maximum Session Time To Live)
  6. Selezionare Crea bastion.
  7. Creare una sessione selezionando Crea sessione.
  8. Per Tipo di sessione, selezionare SSH Port Forwarding Session.
  9. Immettere un nome per la sessione.
  10. Immettere l'indirizzo IP privato di uno dei nodi cluster nella sezione Indirizzo IP.
  11. Conserva la porta 22 nella porta.
  12. Creare una coppia di chiavi utilizzando l'opzione Genera coppia di chiavi SSH oppure utilizzare la chiave pubblica della coppia di chiavi private pubbliche.
  13. In Mostra opzioni avanzate impostare il TTL della sessione. Il valore predefinito è di 180 minuti.
  14. Selezionare il menu Azioni (tre puntini) accanto al nome della sessione e selezionare Copia comando SSH.
  15. Aggiornare i segnaposto, ad esempio <privateKey> e <localPort>, nel comando SSH copiato utilizzando un blocco note. Ad esempio, il comando SSH copiato dalla console:
    ssh -i <privateKey> -N -L <localPort>:<PRIVATE-IP>:22 -p 22 
                                ocid1.bastionsession.oc1.<region>.abcdefghijklmnopqrstuvwxyz@host.bastion.region.oci.oraclecloud.com
    Comando SSH aggiornato:
    ssh -i ~/.ssh/my_private_key -N -L 7183:<PRIVATE-IP>:22 -p 22 
                                ocid1.bastionsession.oc1.<region>.abcdefghijklmnopqrstuvwxyz@host.bastion.region.oci.oraclecloud.com

    Nell'esempio precedente, <privateKey> viene sostituito dalla chiave privata della chiave pubblica utilizzata nel passo 12, <localPort> viene sostituito dalla porta casuale 7183. È possibile selezionare tutte le porte comprese tra 1024 e 65535 chiamate porte non privilegiate. Assicurarsi che la porta in uso non sia utilizzata da altri servizi. È possibile utilizzare netstat o comandi simili per controllare l'utilizzo delle porte.

  16. Eseguire il comando SSH aggiornato in un terminale che ha creato un tunnel per Bastion.
  17. Su un altro terminale, è possibile collegarsi al nodo cluster utilizzando la porta locale configurata nel Passo 15.
    Ad esempio:
    ssh -i ~/.ssh/my_private_key -p 7183 opc@localhost
Connessione tramite PuTTY su Microsoft Windows
  1. Aprire putty.exe.
  2. Nel riquadro Categoria espandere Finestra, quindi selezionare Traduzione.
  3. Nell'elenco Remote character set selezionare UTF-8. L'impostazione predefinita per le istanze basate su Linux è UTF-8 e questo configura PuTTY in modo che utilizzi la stessa versione locale.
  4. Nel riquadro Categoria, selezionare Sessione e immettere quanto segue:

    • Nome host (o indirizzo IP):

      <username>@<public-ip-address>

      <username> è il nome predefinito per l'istanza. Il nome utente predefinito è opc.

      <public-ip-address> è l'indirizzo IP pubblico dell'istanza recuperato dalla console

    • Port: 22

    • Tipo di connessione: SSH

  5. Nel riquadro Categoria espandere Connessione, espandere SSH, quindi selezionare Autorizzazione.
  6. Selezionare Sfoglia, quindi selezionare la chiave privata.
  7. Selezionare Apri per avviare la sessione.

    Se questa è la prima volta che ci si connette all'istanza, potrebbe essere visualizzato un messaggio che informa che la chiave host del server non è memorizzata nella cache nel registro. per continuare la connessione.

Esecuzione dei task amministrativi nell'istanza

Quando si è connessi come utente predefinito, opc, è possibile utilizzare il comando sudo per eseguire task amministrativi, ad esempio la creazione di utenti e gruppi da utilizzare per accedere al cluster.