Connexion aux noeuds gérés au moyen de SSH
Découvrez comment utiliser SSH pour vous connecter aux noeuds de travail des groupes de noeuds des grappes que vous avez créées à l'aide de Kubernetes Engine (OKE).
Si vous avez fourni une clé SSH publique lors de la création d'un groupe de noeuds gérés dans une grappe, la clé publique est installée sur tous les noeuds de travail du groupe de noeuds. Sur les plates-formes UNIX et équivalentes (y compris Solaris et Linux), vous pouvez ensuite vous connecter au moyen de SSH aux noeuds de travail à l'aide de l'utilitaire ssh (un client SSH) pour effectuer des tâches d'administration. Notez que vous ne pouvez pas vous connecter aux noeuds virtuels à l'aide de SSH.
Les instructions suivantes supposent que la machine UNIX utilisée pour se connecter au noeud de travail :
- Dispose de l'utilitaire ssh.
- A accès au fichier de clé privée SSH associé à la clé publique SSH indiquée lors de la création de la grappe.
La procédure de connexion aux noeuds de travail au moyen de SSH dépend du type de sous-réseau (public ou privé) spécifié pour les noeuds de travail lors de la définition des groupes de noeuds de la grappe.
Connexion aux noeuds gérés dans les sous-réseaux publics au moyen de SSH
Avant de vous connecter à un noeud géré dans un sous-réseau public à l'aide de SSH, vous devez définir une règle de trafic entrant dans le groupe de sécurité de réseau applicable (recommandé) ou la liste de sécurité du sous-réseau pour autoriser l'accès au moyen de SSH. La règle de trafic entrant doit permettre l'accès au port 22 sur les noeuds de travail à partir de la source 0.0.0.0/0 et de tout port source, comme suit :
Type | CIDR source | Protocole IP | Intervalle de ports sources | Dest. Intervalle de ports | Type et code | Autorise : Description : |
---|---|---|---|---|---|---|
Avec état | 0.0.0.0/0 | TCP | Tout | 22 | s.o. |
Autorise : Trafic TCP pour les ports : 22 - Protocole de connexion à distance SSH Description : Autorise l'accès au moyen de SSH. |
Pour vous connecter à un noeud géré dans un sous-réseau public au moyen de SSH à partir d'une machine UNIX à l'aide de l'utilitaire SSH :
-
Recherchez l'adresse IP du noeud de travail auquel vous voulez vous connecter. Pour ce faire, plusieurs méthodes sont disponibles :
- Utilisation de kubectl. Si vous ne l'avez pas encore fait, suivez les étapes pour configurer le fichier de configuration kubeconfig de la grappe et (s'il y a lieu) définissez la variable d'environnement KUBECONFIG pour qu'elle pointe vers le fichier. Notez que vous devez configurer votre propre fichier kubeconfig. Vous ne pouvez pas accéder à une grappe à l'aide d'un fichier kubeconfig configuré par un autre utilisateur. Voir Configuration de l'accès aux grappes. Ensuite, dans une fenêtre de terminal, entrez
kubectl get nodes
pour voir les adresses IP publiques des noeuds de travail des groupes de noeuds de la grappe. - Utilisation de la console. Dans la console, affichez la liste des grappes, puis sélectionnez la grappe à laquelle le noeud de travail appartient. Dans l'onglet Groupes de noeuds, sélectionnez le nom du groupe de noeuds auquel appartient le noeud de travail. Dans l'onglet Noeuds figure l'adresse IP publique de chaque noeud de travail du groupe de noeuds.
- Utilisation de l'API REST. Utilisez l'opération ListNodePools pour voir les adresses IP publiques des noeuds de travail dans un groupe de noeuds.
- Utilisation de kubectl. Si vous ne l'avez pas encore fait, suivez les étapes pour configurer le fichier de configuration kubeconfig de la grappe et (s'il y a lieu) définissez la variable d'environnement KUBECONFIG pour qu'elle pointe vers le fichier. Notez que vous devez configurer votre propre fichier kubeconfig. Vous ne pouvez pas accéder à une grappe à l'aide d'un fichier kubeconfig configuré par un autre utilisateur. Voir Configuration de l'accès aux grappes. Ensuite, dans une fenêtre de terminal, entrez
-
Dans la fenêtre de terminal, entrez
ssh opc@<node_ip_address>
pour vous connecter au noeud de travail, où<node_ip_address>
est l'adresse IP du noeud du travail que vous avez notée précédemment. Par exemple, vous pouvez entrerssh opc@192.0.2.254
.Notez que si la clé privée SSH n'est pas stockée dans le fichier ou le chemin attendu par l'utilitaire ssh (par exemple, l'utilitaire ssh peut attendre que la clé privée soit stockée dans ~/.ssh/id_rsa), vous devez spécifier explicitement le nom de fichier et l'emplacement de la clé privée de l'une des deux façons suivantes :
- Utilisez l'option
-i
pour spécifier le nom de fichier et l'emplacement de la clé privée. Par exemple,ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254
-
Ajoutez le nom de fichier et l'emplacement de la clé privée à un fichier de configuration SSH, soit le fichier de configuration du client (~/.ssh/config), s'il existe, ou le fichier de configuration du client du système (/etc/ssh/ssh_config). Par exemple, vous pouvez ajouter les éléments suivants :
Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename
Pour plus d'informations sur le fichier de configuration de l'utilitaire ssh, entrez
man ssh_config
Notez également que les autorisations du fichier de clé privée doivent vous accorder l'accès en lecture/écriture/exécution, mais empêcher les autres utilisateurs d'accéder au fichier. Par exemple, pour définir les autorisations appropriées, vous pouvez entrer
chmod 600 ~/.ssh/my_keys/my_host_key_filename
. Si les autorisations ne sont pas définies correctement et que le fichier de clé privée est accessible aux autres utilisateurs, l'utilitaire SSH ignorera simplement ce fichier. - Utilisez l'option
Connexion aux noeuds gérés dans les sous-réseaux privés au moyen de SSH
Les noeuds de travail gérés dans les sous-réseaux privés ont des adresses IP privées seulement (ils n'ont pas d'adresses IP publiques). Seules les autres ressources du VCN peuvent y accéder.
Vous pouvez utiliser l'accès privé à Cloud Shell pour obtenir l'accès SSH aux noeuds de travail des sous-réseaux privés (voir Réseau privé Cloud Shell).
Oracle recommande d'utiliser le service Oracle Cloud Infrastructure Bastion pour activer l'accès SSH externe aux noeuds de travail des sous-réseaux privés. Pour plus d'informations sur les hôtes bastions, voir Configuration d'un hôte bastion pour l'accès à une grappe.