Connessione ai nodi gestiti mediante SSH
Scopri come utilizzare la shell SSH per connettersi ai nodi di lavoro nei pool di nodi nei cluster creati utilizzando Kubernetes Engine (OKE).
Se è stata fornita una chiave SSH pubblica durante la creazione di un pool di nodi gestiti in un cluster, la chiave pubblica viene installata in tutti i nodi di lavoro del pool di nodi. Nelle piattaforme UNIX e UNIX (inclusi Solaris e Linux), è possibile connettersi tramite SSH ai nodi di lavoro utilizzando la utility SSH (un client SSH) per eseguire attività amministrative. Nota: non è possibile connettersi ai nodi virtuali utilizzando SSH.
Tenere presente che le istruzioni riportate di seguito presuppongono che il computer UNIX utilizzato per connettersi al nodo di lavoro:
- È installata la utility ssh.
- È autorizzato ad accedere al file di chiavi private SSH associato alla chiave pubblica SSH specificata al momento della creazione del cluster.
La connessione ai nodi di lavoro tramite SSH dipende dal fatto che siano specificate subnet pubbliche o private per i nodi di lavoro durante la definizione dei pool di nodi nel cluster.
Connessione ai nodi gestiti nelle subnet pubbliche mediante SSH
Prima di poter connettersi a un nodo gestito in una subnet pubblica utilizzando SSH, è necessario definire una regola di entrata nel gruppo di sicurezza di rete applicabile (consigliato) o nella lista di sicurezza della subnet per consentire l'accesso SSH. La regola di entrata deve consentire l'accesso alla porta 22 sui nodi di lavoro dall'origine 0.0.0.0/0 e da qualsiasi porta di origine, come riportato di seguito.
Digita | CIDR di origine | Protocollo IP | Intervallo porte di origine | Destinazione. Intervallo porte | Tipo e codice | Consente: e descrizione: |
---|---|---|---|---|---|---|
Con conservazione dello stato | 0.0.0.0/0 | TCP | Tutti | 22 | n/d |
Consenti: traffico TCP per le porte: 22 Protocollo di login remoto SSH Descrizione: abilita l'accesso SSH. |
Per connettersi a un nodo gestito in una subnet pubblica tramite SSH da un computer UNIX utilizzando la utility SSH, effettuare le operazioni riportate di seguito.
-
Individuare l'indirizzo IP del nodo di lavoro a cui si desidera connettersi. Puoi farlo in diversi modi:
- Utilizzo di kubectl. Se non lo si è già fatto, seguire la procedura per impostare il file di configurazione kubeconfig del cluster e (se necessario) impostare la variabile di ambiente KUBECONFIG in modo che punti al file. Si noti che è necessario impostare il proprio file kubeconfig. Non è possibile accedere a un cluster utilizzando un file kubeconfig impostato da un altro utente. Vedere Impostazione dell'accesso al cluster. Quindi, in una finestra di terminale, immettere
kubectl get nodes
per visualizzare gli indirizzi IP pubblici dei nodi di lavoro nei pool di nodi nel cluster. - Uso della console. Nella console visualizzare la pagina Lista cluster, quindi selezionare il cluster a cui appartiene il nodo di lavoro. Nella scheda Pool di nodi, selezionare il nome del pool di nodi a cui appartiene il nodo di lavoro. Nella scheda Nodi viene visualizzato l'indirizzo IP pubblico di ogni nodo di lavoro nel pool di nodi.
- Utilizzo dell'API REST. Utilizzare l'operazione ListNodePools per visualizzare gli indirizzi IP pubblici dei nodi di lavoro in un pool di nodi.
- Utilizzo di kubectl. Se non lo si è già fatto, seguire la procedura per impostare il file di configurazione kubeconfig del cluster e (se necessario) impostare la variabile di ambiente KUBECONFIG in modo che punti al file. Si noti che è necessario impostare il proprio file kubeconfig. Non è possibile accedere a un cluster utilizzando un file kubeconfig impostato da un altro utente. Vedere Impostazione dell'accesso al cluster. Quindi, in una finestra di terminale, immettere
-
Nella finestra del terminale, immettere
ssh opc@<node_ip_address>
per connettersi al nodo di lavoro, dove<node_ip_address>
è l'indirizzo IP del nodo di lavoro di cui è stata fatta nota in precedenza. Ad esempio, è possibile immetteressh opc@192.0.2.254
.Tenere presente che 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 e la posizione della chiave privata a un file di configurazione SSH, se esistente, al file di configurazione del client (~/.ssh/config) o al file di configurazione del client a livello di sistema (/etc/ssh/ssh_config). È possibile, ad esempio, aggiungere:
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
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
. Se le autorizzazioni non vengono impostate correttamente e il file di chiavi private è accessibile ad altri utenti, la utility ssh ignorerà semplicemente il file di chiavi private. - Utilizzare l'opzione
Connessione ai nodi gestiti nelle subnet private mediante SSH
I nodi di lavoro gestiti 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.
È possibile utilizzare l'accesso privato a Cloud Shell per ottenere l'accesso SSH ai nodi di lavoro nelle subnet private (vedere Cloud Shell Private Networking).
Oracle consiglia di utilizzare il servizio Oracle Cloud Infrastructure Bastion per abilitare l'accesso SSH esterno ai nodi di lavoro nelle subnet private. Per ulteriori informazioni sui bastion, vedere Impostazione di un bastion per l'accesso al cluster.