Connexion à un noeud de cluster à l'aide de SSH
Pour vous connecter à un noeud de cluster Big Data Service via un shell de commande, utilisez SSH (Secure Shell).
Une paire de clés SSH est créée lors de la création d'un cluster et la clé publique est installée sur tous les noeuds de ce cluster. Reportez-vous à Création d'un cluster. Pour plus d'informations sur la création d'autres paires de clés, reportez-vous à Gestion des paires de clés sur les instances Linux.
- Avoir accès à la clé SSH privée qui est associée à une clé publique affectée au cluster.
Les droits d'accès du fichier de clé privée doivent également vous octroyer un accès en lecture/écriture/exécution, mais empêcher les autres utilisateurs d'accéder au fichier. Par exemple, pour définir les droits d'accès appropriés, vous pouvez saisir
chmod 600 ~/.ssh/my_keys/my_host_key_filename
. L'utilitaire SSH ignore le fichier de clé privée si les droits d'accès ne sont pas correctement définis et que le fichier de clé privée est accessible à d'autres utilisateurs. - Connaître l'adresse IP publique du noeud auquel vous souhaitez vous connecter. Vous pouvez trouver l'adresse IP en consultant la page Détails de nœud dans la console Oracle Cloud. Reportez-vous à Obtention des détails d'un noeuds de cluster.
- S'assurer que le port 22 est ouvert. Reportez-vous à Définition de règles de sécurité.
Pour vous connecter à un noeud dans un sous-réseau public, procédez comme suit :
- Utilisez la commande suivante pour définir les droits d'accès au fichier de sorte que vous seul puissiez lire le fichier :
$ chmod 400 <private_key>
<private_key> est le chemin complet et le nom du fichier contenant la clé privée associée au cluster auquel vous souhaitez accéder.
- Utilisez la commande SSH suivante pour accéder au cluster.
$ ssh –i <private_key> <username>@<public-ip-address>
<private_key> est le chemin complet et le nom du fichier contenant la clé privée associée à l'instance à laquelle vous souhaitez accéder.
<username> est le nom par défaut du cluster. Le nom utilisateur par défaut est
opc
.<public-ip-address> est l'adresse IP publique du noeud de cluster auquel vous souhaitez accéder.
Si la clé privée SSH n'est pas stockée dans le fichier ou dans le chemin attendu par l'utilitaire SSH (par exemple, l'utilitaire SSH peut s'attendre à ce que la clé privée soit stockée dans ~/.ssh/id_rsa
), vous devez indiquer explicitement le nom de fichier et l'emplacement de la clé privée de l'une des deux manières 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 au fichier de configuration client (
~/.ssh/config
) s'il existe, soit au fichier de configuration client à l'échelle du système (/etc/ssh/ssh_config
). Par exemple, vous pouvez ajouter ce qui suit :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
Les noeuds de processus actives dans des sous-réseaux privés ne disposent que d'adresse IP privée (ils n'ont pas d'adresses IP publiques). Ils sont uniquement accessibles par d'autres ressources du réseau cloud virtuel. Nous vous recommandons d'utiliser des bastions pour contrôler l'accès externe (comme SSH) aux noeuds d'activité dans les sous-réseaux privés. Un bastions est contenu dans un sous-réseau public.Il dispose d'une adresse IP publique et est accessible à partir d'Internet. Pour plus d'informations sur les hôtes Bastion, reportez-vous à la documentation relative au bastion.
SSH vers les noeuds de cluster BDS à l'aide du service Bastion :
- Créez un service Bastion en utilisant le même sous-réseau que le cluster dans lequel il est créé.
- Connectez-vous à la location cloud : sélectionnez Identité et sécurité, sélectionnez Bastion, puis Créer un bastion.
- Entrez le nom du bastion de votre choix et le sous-réseau dans lequel le cluster BDS est créé.
- Dans Liste d'autorisation de bloc CIDR, entrez
0.0.0.0/0
qui permet à l'adresse IP de la machine locale d'accéder à la ressource Bastion. - Sous Afficher les options avancées, définissez la durée de vie de la session qui peut être créée dans ce bastion à l'aide de la propriété Durée de vie maximale de la session (TTL)
- Sélectionnez Create Bastion.
- Créez une session en sélectionnant Créer une session.
- Pour le type de session, sélectionnez
SSH Port Forwarding Session
. - Entrez le nom de la session.
- Entrez l'adresse IP privée de l'un des noeuds du cluster dans la section Adresse IP.
- Conservez le port 22 dans Port.
- Créez une paire de clés à l'aide de l'option Générer une paire de clés SSH ou utilisez la clé publique de la paire de clés privées publiques.
- Dans Afficher les options avancées, définissez la durée de vie de la session. La valeur par défaut est de 180 minutes.
- Sélectionnez le menu en regard du nom de la session et sélectionnez Copier la commande SSH.
- Mettez à jour les espaces réservés, tels que
<privateKey>
et<localPort>
, dans la commande SSH copiée à l'aide d'un bloc-notes. Par exemple, la commande SSH copiée à partir de la console :
Commande SSH mise à jour :ssh -i <privateKey> -N -L <localPort>:<PRIVATE-IP>:22 -p 22 ocid1.bastionsession.oc1.<region>.abcdefghijklmnopqrstuvwxyz@host.bastion.region.oci.oraclecloud.com
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
Dans l'exemple précédent,
<privateKey>
est remplacé par la clé privée de la clé publique utilisée à l'étape 12,<localPort>
est remplacé par le port aléatoire 7183. Vous pouvez sélectionner tous les ports de la plage 1024 à 65535 qui sont appelés ports non privilégiés. Assurez-vous que le port que vous utilisez n'est utilisé par aucun autre service. Vous pouvez utilisernetstat
ou toute autre commande similaire pour vérifier l'utilisation du port. - Exécutez la commande SSH mise à jour dans un terminal qui a établi un tunnel vers Bastion.
- Sur un autre terminal, vous pouvez vous connecter au noeud du cluster à l'aide du port local configuré à l'étape 15. Par exemple :
ssh -i ~/.ssh/my_private_key -p 7183 opc@localhost
- Ouvrez
putty.exe
. - Dans le panneau Catégorie, développez Fenêtre, puis sélectionnez Conversion.
- Dans la liste de Remote character set, sélectionnez UTF-8. Le paramètre d'environnement local par défaut sur les instances Linux est UTF-8. ce qui configure PuTTY sur le même environnement local.
-
Dans le panneau Category, sélectionnez Session, puis saisissez les informations suivantes :
-
Nom d'hôte (ou adresse IP) :
<username>@<public-ip-address>
<nomutilisateur> est le nom par défaut de l'instance. Le nom utilisateur par défaut est
opc
.<public-ip-address> est l'adresse IP publique de l'instance que vous avez récupérée sur la console.
-
Port : 22
-
Type de connexion : SSH
-
- Dans le panneau Catégorie, développez Connexion, développez SSH, puis sélectionnez Authentification.
- Sélectionnez Parcourir, puis la clé privée.
- Sélectionnez Open (Ouvrir) pour démarrer la session.
S'il s'agit de la première connexion à l'instance, un message indiquant que la clé d'hôte du serveur n'est pas mise en cache dans le registre peut s'afficher. Yes pour continuer la connexion.
Lorsque vous êtes enregistré en tant qu'utilisateur par défaut (opc
), vous pouvez utiliser la commande sudo
pour exécuter des tâches d'administration, telles qu'une création d'utilisateurs et des groupes à utiliser pour accéder au cluster.