Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Accédez à un hôte bastion à l'aide du gestionnaire de session et d'Amazon EC2 Instance Connect - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accédez à un hôte bastion à l'aide du gestionnaire de session et d'Amazon EC2 Instance Connect

Créée par Piotr Chotkowski (AWS) et Witold Kowalik (AWS)

Récapitulatif

Un hôte bastion, parfois appelé boîte de saut, est un serveur qui fournit un point d'accès unique depuis un réseau externe aux ressources situées sur un réseau privé. Un serveur exposé à un réseau public externe, tel qu'Internet, présente un risque de sécurité potentiel en cas d'accès non autorisé. Il est important de sécuriser et de contrôler l'accès à ces serveurs.

Ce modèle décrit comment vous pouvez utiliser Session Manager et Amazon EC2 Instance Connect pour vous connecter en toute sécurité à un hôte bastion Amazon Elastic Compute Cloud (Amazon EC2) déployé sur votre compte AWS. Le gestionnaire de session est une fonctionnalité d'AWS Systems Manager. Les avantages de ce modèle incluent :

  • L'hôte bastion déployé ne possède aucun port entrant ouvert exposé à l'Internet public. Cela réduit la surface d'attaque potentielle.

  • Vous n'avez pas besoin de stocker et de gérer des clés Secure Shell (SSH) à long terme dans votre compte AWS. Au lieu de cela, chaque utilisateur génère une nouvelle paire de clés SSH chaque fois qu'il se connecte à l'hôte Bastion. Les politiques AWS Identity and Access Management (IAM) associées aux informations d'identification AWS de l'utilisateur contrôlent l'accès à l'hôte Bastion.

Public visé

Ce modèle est destiné aux lecteurs ayant une connaissance de base d'Amazon EC2, d'Amazon Virtual Private Cloud (VPC) et de Hashicorp Terraform.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif

  • Interface de ligne de commande AWS (AWS CLI) version 2, installée et configurée

  • Plug-in Session Manager pour l'AWS CLI, installé

  • Terraform CLI, installée

  • Stockage pour l'état Terraform, tel qu'un bucket Amazon Simple Storage Service (Amazon S3) et une table Amazon DynamoDB servant de backend distant pour stocker l'état Terraform. Pour plus d'informations sur l'utilisation de backends distants pour l'état Terraform, consultez S3 Backends (documentation Terraform). Pour un exemple de code qui configure la gestion de l'état à distance avec un backend S3, voir remote-state-s3-backend (Terraform Registry). Notez les critères suivants :

    • Le compartiment S3 et la table DynamoDB doivent se trouver dans la même région AWS.

    • Lors de la création de la table DynamoDB, la clé de partition doit LockID être (distinguez majuscules et minuscules) et le type de clé de partition doit l'être. String Tous les autres paramètres du tableau doivent être à leurs valeurs par défaut. Pour plus d'informations, reportez-vous aux sections À propos des clés primaires et Création d'une table dans la documentation DynamoDB.

  • Un client SSH, installé

Limites

  • Ce modèle est conçu comme une preuve de concept (PoC) ou comme base pour un développement ultérieur. Il ne doit pas être utilisé sous sa forme actuelle dans les environnements de production. Avant le déploiement, ajustez l'exemple de code dans le référentiel en fonction de vos besoins et de votre cas d'utilisation.

  • Ce modèle suppose que l'hôte bastion cible utilise Amazon Linux 2 comme système d'exploitation. Bien qu'il soit possible d'utiliser d'autres Amazon Machine Images (AMIs), ce modèle ne s'applique pas aux autres systèmes d'exploitation.

    Note

    Le support d'Amazon Linux 2 touche à sa fin. Pour plus d'informations, consultez Amazon Linux 2 FAQs.

  • Dans ce modèle, l'hôte bastion est situé dans un sous-réseau privé sans passerelle NAT ni passerelle Internet. Cette conception isole l' EC2 instance de l'Internet public. Vous pouvez ajouter une configuration réseau spécifique qui lui permet de communiquer avec Internet. Pour plus d'informations, consultez Connecter votre cloud privé virtuel (VPC) à d'autres réseaux dans la documentation Amazon VPC. De même, conformément au principe du moindre privilège, l'hôte du bastion n'a accès à aucune autre ressource de votre compte AWS, sauf si vous lui accordez explicitement des autorisations. Pour plus d'informations, consultez la section Politiques basées sur les ressources dans la documentation IAM.

Versions du produit

  • Version 2 de l'interface de ligne de commande AWS

  • Terraform version 1.3.9

Architecture

Pile technologique cible

  • Un VPC avec un seul sous-réseau privé

  • Les points de terminaison VPC d'interface suivants :

    • amazonaws.<region>.ssm : point de terminaison pour le service Systems Manager.

    • amazonaws.<region>.ec2messages— Systems Manager utilise ce point de terminaison pour passer des appels depuis l'agent SSM vers le service Systems Manager.

    • amazonaws.<region>.ssmmessages— Le gestionnaire de session utilise ce point de terminaison pour se connecter à votre EC2 instance via un canal de données sécurisé.

  • Une t3.nano EC2 instance exécutant Amazon Linux 2

  • Rôle IAM et profil d'instance

  • Groupes de sécurité Amazon VPC et règles de groupe de sécurité pour les points de terminaison et l'instance EC2

Architecture cible

Schéma d'architecture de l'utilisation du gestionnaire de session pour accéder à un hôte bastion.

Le schéma montre le processus suivant :

  1. L'utilisateur assume un rôle IAM autorisé à effectuer les opérations suivantes :

    • Authentifier, autoriser et se connecter à l'instance EC2

    • Démarrer une session avec le gestionnaire de session

  2. L'utilisateur lance une session SSH via le gestionnaire de session.

  3. Le gestionnaire de session authentifie l'utilisateur, vérifie les autorisations dans les politiques IAM associées, vérifie les paramètres de configuration et envoie un message à l'agent SSM pour ouvrir une connexion bidirectionnelle.

  4. L'utilisateur transmet la clé publique SSH à l'hôte Bastion via les métadonnées Amazon. EC2 Cela doit être fait avant chaque connexion. La clé publique SSH reste disponible pendant 60 secondes.

  5. L'hôte Bastion communique avec les points de terminaison VPC de l'interface pour Systems Manager et Amazon. EC2

  6. L'utilisateur accède à l'hôte Bastion via le gestionnaire de session en utilisant un canal de communication bidirectionnel crypté TLS 1.2.

Automatisation et mise à l'échelle

Les options suivantes sont disponibles pour automatiser le déploiement ou faire évoluer cette architecture :

  • Vous pouvez déployer l'architecture par le biais d'un pipeline d'intégration et de livraison continues (CI/CD).

  • Vous pouvez modifier le code pour changer le type d'instance de l'hôte Bastion.

  • Vous pouvez modifier le code pour déployer plusieurs hôtes bastions. Dans le bastion-host/main.tf fichier, dans le bloc de aws_instance ressources, ajoutez le count méta-argument. Pour plus d'informations, consultez la documentation Terraform.

Outils

Services AWS

  • L'interface de ligne de commande AWS (AWS CLI) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.

  • Amazon Elastic Compute Cloud (Amazon EC2) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.

  • AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.

  • AWS Systems Manager vous aide à gérer vos applications et votre infrastructure exécutées dans le cloud AWS. Il simplifie la gestion des applications et des ressources, réduit le délai de détection et de résolution des problèmes opérationnels et vous aide à gérer vos ressources AWS en toute sécurité à grande échelle. Ce modèle utilise Session Manager, une fonctionnalité de Systems Manager.

  • Amazon Virtual Private Cloud (Amazon VPC) vous aide à lancer des ressources AWS dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous exploiteriez dans votre propre centre de données, avec les avantages liés à l'utilisation de l'infrastructure évolutive d'AWS.

Autres outils

  • HashiCorp Terraform est un outil open source d'infrastructure sous forme de code (IaC) qui vous aide à utiliser le code pour provisionner et gérer l'infrastructure et les ressources du cloud. Ce modèle utilise la CLI Terraform.

Référentiel de code

Le code de ce modèle est disponible dans l'hôte GitHub Access a bastion à l'aide du gestionnaire de session et du référentiel Amazon EC2 Instance Connect.

Bonnes pratiques

  • Nous vous recommandons d'utiliser des outils d'analyse de code automatisés pour améliorer la sécurité et la qualité du code. Ce modèle a été scanné à l'aide de Checkov, un outil d'analyse de code statique pour IaC. Nous vous recommandons au minimum d'effectuer des contrôles de validation et de formatage de base à l'aide des commandes terraform validate et terraform fmt -check -recursive Terraform.

  • Il est recommandé d'ajouter des tests automatisés pour IaC. Pour plus d'informations sur les différentes approches pour tester le code Terraform, consultez Testing HashiCorp Terraform (article de blog Terraform).

  • Lors du déploiement, Terraform utilise l' EC2 instance de remplacement chaque fois qu'une nouvelle version de l'AMI Amazon Linux 2 est détectée. Cela déploie la nouvelle version du système d'exploitation, y compris les correctifs et les mises à niveau. Si le calendrier de déploiement est peu fréquent, cela peut présenter un risque de sécurité car l'instance ne dispose pas des derniers correctifs. Il est important de mettre à jour et d'appliquer fréquemment des correctifs de sécurité aux EC2 instances déployées. Pour plus d'informations, consultez la section Gestion des mises à jour sur Amazon EC2.

  • Ce modèle étant une preuve de concept, il utilise des politiques gérées par AWS, telles queAmazonSSMManagedInstanceCore. Les politiques gérées par AWS couvrent les cas d'utilisation courants, mais n'accordent pas d'autorisations de moindre privilège. Selon les besoins de votre cas d'utilisation, nous vous recommandons de créer des politiques personnalisées qui accordent des autorisations de moindre privilège pour les ressources déployées dans cette architecture. Pour plus d'informations, consultez Commencer avec les politiques gérées par AWS et passer aux autorisations du moindre privilège.

  • Utilisez un mot de passe pour protéger l'accès aux clés SSH et stockez les clés dans un emplacement sécurisé.

  • Configurez la journalisation et la surveillance pour l'hôte du bastion. La journalisation et la surveillance sont des éléments importants de la maintenance des systèmes, tant du point de vue de l'exploitation que de la sécurité. Il existe plusieurs manières de surveiller les connexions et l'activité dans votre hôte Bastion. Pour plus d'informations, consultez les rubriques suivantes dans la documentation de Systems Manager :

Épopées

TâcheDescriptionCompétences requises

Clonez le référentiel de code.

  1. Dans une interface de ligne de commande, remplacez votre répertoire de travail par l'emplacement où vous souhaitez stocker les fichiers d'exemple.

  2. Entrez la commande suivante.

    git clone https://github.com/aws-samples/secured-bastion-host-terraform.git

DevOps ingénieur, développeur

Initialisez le répertoire de travail Terraform.

Cette étape n'est nécessaire que pour le premier déploiement. Si vous redéployez le modèle, passez à l'étape suivante.

Dans le répertoire racine du dépôt cloné, entrez la commande suivante, où :

  • $S3_STATE_BUCKETest le nom du compartiment S3 qui contient l'état Terraform

  • $PATH_TO_STATE_FILEest la clé du fichier d'état Terraform, tel que infra/bastion-host/tetfstate

  • $AWS_REGIONest la région dans laquelle le compartiment S3 est déployé

terraform init \ -backend-config="bucket=$S3_STATE_BUCKET" \ -backend-config="key=$PATH_TO_STATE_FILE" \ -backend-config="region=$AWS_REGION
Note

Vous pouvez également ouvrir le fichier config.tf et, dans la terraform section, fournir ces valeurs manuellement.

DevOps ingénieur, Développeur, Terraform

Déployez les ressources.

  1. Dans le répertoire racine du dépôt cloné, entrez la commande suivante.

    terraform apply -var-file="dev.tfvars"
  2. Consultez la liste de toutes les modifications qui seront appliquées à votre compte AWS, puis confirmez le déploiement.

  3. Attendez que toutes les ressources soient déployées.

DevOps ingénieur, Développeur, Terraform

Déployez les ressources

TâcheDescriptionCompétences requises

Clonez le référentiel de code.

  1. Dans une interface de ligne de commande, remplacez votre répertoire de travail par l'emplacement où vous souhaitez stocker les fichiers d'exemple.

  2. Entrez la commande suivante.

    git clone https://github.com/aws-samples/secured-bastion-host-terraform.git

DevOps ingénieur, développeur

Initialisez le répertoire de travail Terraform.

Cette étape n'est nécessaire que pour le premier déploiement. Si vous redéployez le modèle, passez à l'étape suivante.

Dans le répertoire racine du dépôt cloné, entrez la commande suivante, où :

  • $S3_STATE_BUCKETest le nom du compartiment S3 qui contient l'état Terraform

  • $PATH_TO_STATE_FILEest la clé du fichier d'état Terraform, tel que infra/bastion-host/tetfstate

  • $AWS_REGIONest la région dans laquelle le compartiment S3 est déployé

terraform init \ -backend-config="bucket=$S3_STATE_BUCKET" \ -backend-config="key=$PATH_TO_STATE_FILE" \ -backend-config="region=$AWS_REGION
Note

Vous pouvez également ouvrir le fichier config.tf et, dans la terraform section, fournir ces valeurs manuellement.

DevOps ingénieur, Développeur, Terraform

Déployez les ressources.

  1. Dans le répertoire racine du dépôt cloné, entrez la commande suivante.

    terraform apply -var-file="dev.tfvars"
  2. Consultez la liste de toutes les modifications qui seront appliquées à votre compte AWS, puis confirmez le déploiement.

  3. Attendez que toutes les ressources soient déployées.

DevOps ingénieur, Développeur, Terraform
TâcheDescriptionCompétences requises

Configurez la connexion SSH.

Mettez à jour le fichier de configuration SSH pour autoriser les connexions SSH via le gestionnaire de session. Pour obtenir des instructions, consultez Autoriser les connexions SSH pour le gestionnaire de session. Cela permet aux utilisateurs autorisés de saisir une commande proxy qui démarre une session du gestionnaire de session et transfère toutes les données via une connexion bidirectionnelle.

DevOps ingénieur

Générez les clés SSH.

Entrez la commande suivante pour générer une paire de clés SSH privées et publiques locales. Vous utilisez cette paire de clés pour vous connecter à l'hôte Bastion.

ssh-keygen -t rsa -f my_key
DevOps ingénieur, développeur

Configuration de l'environnement local

TâcheDescriptionCompétences requises

Configurez la connexion SSH.

Mettez à jour le fichier de configuration SSH pour autoriser les connexions SSH via le gestionnaire de session. Pour obtenir des instructions, consultez Autoriser les connexions SSH pour le gestionnaire de session. Cela permet aux utilisateurs autorisés de saisir une commande proxy qui démarre une session du gestionnaire de session et transfère toutes les données via une connexion bidirectionnelle.

DevOps ingénieur

Générez les clés SSH.

Entrez la commande suivante pour générer une paire de clés SSH privées et publiques locales. Vous utilisez cette paire de clés pour vous connecter à l'hôte Bastion.

ssh-keygen -t rsa -f my_key
DevOps ingénieur, développeur
TâcheDescriptionCompétences requises

Obtenez l'ID de l'instance.

  1. Pour vous connecter à l'hôte bastion déployé, vous avez besoin de l'ID de l' EC2 instance. Procédez de l'une des manières suivantes pour trouver l'ID :

    • Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/. Dans le panneau de navigation, choisissez Instances. Localisez l'instance hôte Bastion.

    • Dans la CLI AWS, entrez la commande suivante.

      aws ec2 describe-instances

      Pour filtrer les résultats, entrez la commande suivante, où se $BASTION_HOST_TAG trouve le tag que vous avez attribué à l'hôte du bastion. La valeur par défaut de cette balise estsandbox-dev-bastion-host.

      aws ec2 describe-instances \ --filters "Name=tag:Name,Values=$BASTION_HOST_TAG" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId' \ --output text
  2. Copiez l'ID de l' EC2 instance. Vous utiliserez cet identifiant ultérieurement.

AWS général

Envoyez la clé publique SSH.

Note

Dans cette section, vous allez télécharger la clé publique vers les métadonnées de l'instance de l'hôte Bastion. Une fois la clé téléchargée, vous avez 60 secondes pour établir une connexion avec l'hôte du bastion. Au bout de 60 secondes, la clé publique est supprimée. Pour plus d'informations, consultez la section Dépannage de ce modèle. Effectuez rapidement les étapes suivantes pour éviter que la clé ne soit supprimée avant de vous connecter à l'hôte Bastion.

  1. Envoyez la clé SSH à l'hôte Bastion à l'aide d'Instance EC2 Connect. Entrez la commande suivante, où :

    • $INSTANCE_IDest l'ID de l' EC2 instance

    • $PUBLIC_KEY_FILEest le chemin d'accès à votre fichier de clé publique, tel que my_key.pub

      Important

      Veillez à utiliser la clé publique et non la clé privée.

    aws ec2-instance-connect send-ssh-public-key \ --instance-id $INSTANCE_ID \ --instance-os-user ec2-user \ --ssh-public-key file://$PUBLIC_KEY_FILE
  2. Attendez de recevoir un message indiquant que la clé a été téléchargée avec succès. Passez immédiatement à l'étape suivante.

AWS général

Connectez-vous à l'hôte Bastion.

  1. Entrez la commande suivante pour vous connecter à l'hôte bastion via le gestionnaire de session, où :

    • $PRIVATE_KEY_FILEest le chemin d'accès à votre clé privée, tel que my_key

    • $INSTANCE_IDest l'ID de l' EC2 instance

    ssh -i $PRIVATE_KEY_FILE ec2-user@$INSTANCE_ID
  2. Confirmez la connexion en entrantyes. Cela ouvre une connexion SSH à l'aide du gestionnaire de session.

Note

Il existe d'autres options pour ouvrir une connexion SSH avec l'hôte Bastion. Pour plus d'informations, consultez la section Autres approches pour établir une connexion SSH avec l'hôte Bastion dans la section Informations supplémentaires de ce modèle.

AWS général

Connectez-vous à l'hôte Bastion à l'aide du gestionnaire de session

TâcheDescriptionCompétences requises

Obtenez l'ID de l'instance.

  1. Pour vous connecter à l'hôte bastion déployé, vous avez besoin de l'ID de l' EC2 instance. Procédez de l'une des manières suivantes pour trouver l'ID :

    • Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/. Dans le panneau de navigation, choisissez Instances. Localisez l'instance hôte Bastion.

    • Dans la CLI AWS, entrez la commande suivante.

      aws ec2 describe-instances

      Pour filtrer les résultats, entrez la commande suivante, où se $BASTION_HOST_TAG trouve le tag que vous avez attribué à l'hôte du bastion. La valeur par défaut de cette balise estsandbox-dev-bastion-host.

      aws ec2 describe-instances \ --filters "Name=tag:Name,Values=$BASTION_HOST_TAG" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId' \ --output text
  2. Copiez l'ID de l' EC2 instance. Vous utiliserez cet identifiant ultérieurement.

AWS général

Envoyez la clé publique SSH.

Note

Dans cette section, vous allez télécharger la clé publique vers les métadonnées de l'instance de l'hôte Bastion. Une fois la clé téléchargée, vous avez 60 secondes pour établir une connexion avec l'hôte du bastion. Au bout de 60 secondes, la clé publique est supprimée. Pour plus d'informations, consultez la section Dépannage de ce modèle. Effectuez rapidement les étapes suivantes pour éviter que la clé ne soit supprimée avant de vous connecter à l'hôte Bastion.

  1. Envoyez la clé SSH à l'hôte Bastion à l'aide d'Instance EC2 Connect. Entrez la commande suivante, où :

    • $INSTANCE_IDest l'ID de l' EC2 instance

    • $PUBLIC_KEY_FILEest le chemin d'accès à votre fichier de clé publique, tel que my_key.pub

      Important

      Veillez à utiliser la clé publique et non la clé privée.

    aws ec2-instance-connect send-ssh-public-key \ --instance-id $INSTANCE_ID \ --instance-os-user ec2-user \ --ssh-public-key file://$PUBLIC_KEY_FILE
  2. Attendez de recevoir un message indiquant que la clé a été téléchargée avec succès. Passez immédiatement à l'étape suivante.

AWS général

Connectez-vous à l'hôte Bastion.

  1. Entrez la commande suivante pour vous connecter à l'hôte bastion via le gestionnaire de session, où :

    • $PRIVATE_KEY_FILEest le chemin d'accès à votre clé privée, tel que my_key

    • $INSTANCE_IDest l'ID de l' EC2 instance

    ssh -i $PRIVATE_KEY_FILE ec2-user@$INSTANCE_ID
  2. Confirmez la connexion en entrantyes. Cela ouvre une connexion SSH à l'aide du gestionnaire de session.

Note

Il existe d'autres options pour ouvrir une connexion SSH avec l'hôte Bastion. Pour plus d'informations, consultez la section Autres approches pour établir une connexion SSH avec l'hôte Bastion dans la section Informations supplémentaires de ce modèle.

AWS général
TâcheDescriptionCompétences requises

Supprimez les ressources déployées.

  1. Afin de supprimer toutes les ressources déployées, exécutez la commande suivante depuis le répertoire racine du référentiel cloné.

    terraform destroy -var-file="dev.tfvars"
  2. Confirmez la suppression des ressources.

DevOps ingénieur, Développeur, Terraform

(Facultatif) Nettoyer

TâcheDescriptionCompétences requises

Supprimez les ressources déployées.

  1. Afin de supprimer toutes les ressources déployées, exécutez la commande suivante depuis le répertoire racine du référentiel cloné.

    terraform destroy -var-file="dev.tfvars"
  2. Confirmez la suppression des ressources.

DevOps ingénieur, Développeur, Terraform

Résolution des problèmes

ProblèmeSolution

TargetNotConnectederreur lors de la tentative de connexion à l'hôte bastion

  1. Redémarrez l'hôte Bastion conformément aux instructions de la section Redémarrer votre instance dans la EC2 documentation Amazon.

  2. Une fois l'instance redémarrée avec succès, renvoyez la clé publique à l'hôte Bastion et tentez à nouveau de vous connecter.

Permission deniederreur lors de la tentative de connexion à l'hôte bastion

Une fois la clé publique téléchargée sur l'hôte du bastion, vous n'avez que 60 secondes pour établir la connexion. Après 60 secondes, la clé est automatiquement supprimée et vous ne pouvez pas l'utiliser pour vous connecter à l'instance. Dans ce cas, vous pouvez répéter l'étape pour renvoyer la clé à l'instance.

Ressources connexes

Documentation AWS

Autres ressources

Informations supplémentaires

Autres approches pour établir une connexion SSH avec l'hôte Bastion

Réacheminement de port

Vous pouvez utiliser -D 8888 cette option pour ouvrir une connexion SSH avec une redirection de port dynamique. Pour plus d'informations, consultez ces instructions sur explainshell.com. Voici un exemple de commande permettant d'ouvrir une connexion SSH à l'aide de la redirection de port.

ssh -i $PRIVATE_KEY_FILE -D 8888 ec2-user@$INSTANCE_ID

Ce type de connexion ouvre un proxy SOCKS qui peut transférer le trafic depuis votre navigateur local via l'hôte Bastion. Si vous utilisez Linux ou macOS, pour voir toutes les options, entrezman ssh. Cela affiche le manuel de référence SSH.

En utilisant le script fourni

Au lieu d'exécuter manuellement les étapes décrites dans Connect to the bastion host by using Session Manager dans la section Epics, vous pouvez utiliser le script connect.sh inclus dans le référentiel de code. Ce script génère la paire de clés SSH, envoie la clé publique à l' EC2 instance et établit une connexion avec l'hôte bastion. Lorsque vous exécutez le script, vous transmettez le tag et le nom de la clé en tant qu'arguments. Voici un exemple de commande permettant d'exécuter le script.

./connect.sh sandbox-dev-bastion-host my_key
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.