À utiliser GetPasswordData avec un AWS SDK ou CLI - Exemples de code de l'AWS SDK

D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.

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.

À utiliser GetPasswordData avec un AWS SDK ou CLI

Les exemples de code suivants montrent comment utiliserGetPasswordData.

CLI
AWS CLI

Pour obtenir le mot de passe crypté

Cet exemple permet d'obtenir le mot de passe crypté.

Commande :

aws ec2 get-password-data --instance-id i-1234567890abcdef0

Sortie :

{ "InstanceId": "i-1234567890abcdef0", "Timestamp": "2013-08-07T22:18:38.000Z", "PasswordData": "gSlJFq+VpcZXqy+iktxMF6NyxQ4qCrT4+gaOuNOenX1MmgXPTj7XEXAMPLE UQ+YeFfb+L1U4C4AKv652Ux1iRB3CPTYP7WmU3TUnhsuBd+p6LVk7T2lKUml6OXbk6WPW1VYYm/TRPB1 e1DQ7PY4an/DgZT4mwcpRFigzhniQgDDeO1InvSDcwoUTwNs0Y1S8ouri2W4n5GNlriM3Q0AnNVelVz/ 53TkDtxbNoU606M1gK9zUWSxqEgwvbV2j8c5rP0WCuaMWSFl4ziDu4bd7q+4RSyi8NUsVWnKZ4aEZffu DPGzKrF5yLlf3etP2L4ZR6CvG7K1hx7VKOQVN32Dajw==" }

Pour obtenir le mot de passe déchiffré

Cet exemple permet d'obtenir le mot de passe déchiffré.

Commande :

aws ec2 get-password-data --instance-id i-1234567890abcdef0 --priv-launch-key C:\Keys\MyKeyPair.pem

Sortie :

{ "InstanceId": "i-1234567890abcdef0", "Timestamp": "2013-08-30T23:18:05.000Z", "PasswordData": "&ViJ652e*u" }
  • Pour API plus de détails, voir GetPasswordDatala section Référence des AWS CLI commandes.

Java
SDKpour Java 2.x
Note

Il y en a plus sur GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2AsyncClient; import software.amazon.awssdk.services.ec2.model.*; import java.util.concurrent.CompletableFuture; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class GetPasswordData { public static void main(String[] args) { final String usage = """ Usage: <instanceId> Where: instanceId - An instance id value that you can obtain from the AWS Management Console.\s """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String instanceId = args[0]; Ec2AsyncClient ec2AsyncClient = Ec2AsyncClient.builder() .region(Region.US_EAST_1) .build(); try { CompletableFuture<Void> future = getPasswordDataAsync(ec2AsyncClient, instanceId); future.join(); } catch (RuntimeException rte) { System.err.println("An exception occurred: " + (rte.getCause() != null ? rte.getCause().getMessage() : rte.getMessage())); } } /** * Fetches the password data for the specified EC2 instance asynchronously. * * @param ec2AsyncClient the EC2 asynchronous client to use for the request * @param instanceId instanceId the ID of the EC2 instance for which you want to fetch the password data * @return a {@link CompletableFuture} that completes when the password data has been fetched * @throws RuntimeException if there was a failure in fetching the password data */ public static CompletableFuture<Void> getPasswordDataAsync(Ec2AsyncClient ec2AsyncClient, String instanceId) { GetPasswordDataRequest getPasswordDataRequest = GetPasswordDataRequest.builder() .instanceId(instanceId) .build(); CompletableFuture<GetPasswordDataResponse> response = ec2AsyncClient.getPasswordData(getPasswordDataRequest); response.whenComplete((getPasswordDataResponse, ex) -> { if (ex != null) { throw new RuntimeException("Failed to get password data for instance: " + instanceId, ex); } else if (getPasswordDataResponse == null || getPasswordDataResponse.passwordData().isEmpty()) { throw new RuntimeException("No password data found for instance: " + instanceId); } else { String encryptedPasswordData = getPasswordDataResponse.passwordData(); System.out.println("Encrypted Password Data: " + encryptedPasswordData); } }); return response.thenApply(resp -> null); } }
  • Pour API plus de détails, voir GetPasswordDatala section AWS SDK for Java 2.x APIRéférence.

PowerShell
Outils pour PowerShell

Exemple 1 : Cet exemple déchiffre le mot de passe EC2 attribué par Amazon au compte administrateur pour l'instance Windows spécifiée. Lorsqu'un fichier pem a été spécifié, le paramètre du commutateur -Decrypt est automatiquement supposé.

Get-EC2PasswordData -InstanceId i-12345678 -PemFile C:\path\my-key-pair.pem

Sortie :

mYZ(PA9?C)Q

Exemple 2 : (Windows PowerShell uniquement) Inspecte l'instance pour déterminer le nom de la paire de clés utilisée pour lancer l'instance, puis tente de trouver les données de paire de clés correspondantes dans le magasin de configuration du Toolkit for Visual Studio AWS . Si les données de la paire de clés sont trouvées, le mot de passe est déchiffré.

Get-EC2PasswordData -InstanceId i-12345678 -Decrypt

Sortie :

mYZ(PA9?C)Q

Exemple 3 : renvoie les données de mot de passe chiffrées pour l'instance.

Get-EC2PasswordData -InstanceId i-12345678

Sortie :

iVz3BAK/WAXV.....dqt8WeMA==
  • Pour API plus de détails, consultez la section GetPasswordDataRéférence des AWS Tools for PowerShell applets de commande.