Usar GetPasswordData com o AWS SDK ou a CLI - Exemplos de código do AWS SDK

Há mais exemplos do AWS SDK disponíveis no repositório do GitHub Documento de Exemplos do AWS SDK.

Usar GetPasswordData com o AWS SDK ou a CLI

Os exemplos de código a seguir mostram como usar o GetPasswordData.

CLI
AWS CLI

Obter a senha criptografada

Este exemplo obtém a senha criptografada.

Comando:

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

Saída:

{ "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==" }

Obter a senha descriptografada

Este exemplo obtém a senha descriptografada.

Comando:

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

Saída:

{ "InstanceId": "i-1234567890abcdef0", "Timestamp": "2013-08-30T23:18:05.000Z", "PasswordData": "&ViJ652e*u" }
  • Para ver detalhes da API, consulte GetPasswordData na Referência de comandos da AWS CLI.

Java
SDK para Java 2.x
nota

Há mais no GitHub. Encontre o exemplo completo e veja como configurar e executar no AWS Code Examples Repository.

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); } }
  • Consulte detalhes da API em GetPasswordData na Referência de API do AWS SDK for Java 2.x.

PowerShell
Ferramentas para PowerShell V4

Exemplo 1: esse exemplo descriptografa a senha que o Amazon EC2 atribuiu à conta do administrador para a instância especificada do Windows. Quando um arquivo pem foi especificado, a configuração da opção -Decrypt é automaticamente assumida.

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

Saída:

mYZ(PA9?C)Q

Exemplo 2: (somente Windows PowerShell) inspeciona a instância para determinar o nome do par de chaves usado para iniciar a instância e, depois, tenta encontrar os dados do par de chaves correspondente no repositório de configuração do kit de ferramentas da AWS para Visual Studio. Se os dados do par de chaves forem encontrados, a senha será descriptografada.

Get-EC2PasswordData -InstanceId i-12345678 -Decrypt

Saída:

mYZ(PA9?C)Q

Exemplo 3: retorna os dados da senha criptografada para a instância.

Get-EC2PasswordData -InstanceId i-12345678

Saída:

iVz3BAK/WAXV.....dqt8WeMA==
  • Consulte detalhes da API em GetPasswordData na Referência de cmdlet do Ferramentas da AWS para PowerShell (V4).

Ferramentas para PowerShell V5

Exemplo 1: esse exemplo descriptografa a senha que o Amazon EC2 atribuiu à conta do administrador para a instância especificada do Windows. Quando um arquivo pem foi especificado, a configuração da opção -Decrypt é automaticamente assumida.

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

Saída:

mYZ(PA9?C)Q

Exemplo 2: (somente Windows PowerShell) inspeciona a instância para determinar o nome do par de chaves usado para iniciar a instância e, depois, tenta encontrar os dados do par de chaves correspondente no repositório de configuração do kit de ferramentas da AWS para Visual Studio. Se os dados do par de chaves forem encontrados, a senha será descriptografada.

Get-EC2PasswordData -InstanceId i-12345678 -Decrypt

Saída:

mYZ(PA9?C)Q

Exemplo 3: retorna os dados da senha criptografada para a instância.

Get-EC2PasswordData -InstanceId i-12345678

Saída:

iVz3BAK/WAXV.....dqt8WeMA==
  • Consulte detalhes da API em GetPasswordData na Referência de cmdlet do Ferramentas da AWS para PowerShell (V5).