Uso de pares de claves de Amazon EC2 - AWS SDK para C++

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de pares de claves de Amazon EC2

Requisitos previos

Antes de comenzar, le recomendamos que lea Primeros pasos con el AWS SDK para C++.

Descargue el código de ejemplo y compile la solución tal y como se describe en Introducción a los ejemplos de código.

Para ejecutar los ejemplos, el perfil de usuario que utiliza tu código para realizar las solicitudes debe tener los permisos adecuados AWS (para el servicio y la acción). Para obtener más información, consulte Proporcionar AWS credenciales.

Creación de un par de claves

Para crear un par de claves, llame a la CreateKeyPair función del EC2 cliente con una CreateKeyPairRequestque contenga el nombre de la clave.

Incluye

#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/CreateKeyPairRequest.h> #include <iostream> #include <fstream>

Código

Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::CreateKeyPairRequest request; request.SetKeyName(keyPairName); Aws::EC2::Model::CreateKeyPairOutcome outcome = ec2Client.CreateKeyPair(request); if (!outcome.IsSuccess()) { std::cerr << "Failed to create key pair - " << keyPairName << ". " << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully created key pair named " << keyPairName << std::endl; if (!keyFilePath.empty()) { std::ofstream keyFile(keyFilePath.c_str()); keyFile << outcome.GetResult().GetKeyMaterial(); keyFile.close(); std::cout << "Keys written to the file " << keyFilePath << std::endl; } }

Consulte el ejemplo completo

Describir pares de claves

Para enumerar sus pares de claves o para obtener información sobre ellos, llame a la DescribeKeyPairs función del EC2 Cliente con un DescribeKeyPairsRequest.

Recibirás una DescribeKeyPairsResponseque podrás utilizar para acceder a la lista de pares de claves llamando a su GetKeyPairs función, que devuelve una lista de KeyPairInfoobjetos.

Incluye

#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/DescribeKeyPairsRequest.h> #include <aws/ec2/model/DescribeKeyPairsResponse.h> #include <iomanip> #include <iostream>

Código

Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::DescribeKeyPairsRequest request; Aws::EC2::Model::DescribeKeyPairsOutcome outcome = ec2Client.DescribeKeyPairs(request); if (outcome.IsSuccess()) { std::cout << std::left << std::setw(32) << "Name" << std::setw(64) << "Fingerprint" << std::endl; const std::vector<Aws::EC2::Model::KeyPairInfo> &key_pairs = outcome.GetResult().GetKeyPairs(); for (const auto &key_pair: key_pairs) { std::cout << std::left << std::setw(32) << key_pair.GetKeyName() << std::setw(64) << key_pair.GetKeyFingerprint() << std::endl; } } else { std::cerr << "Failed to describe key pairs:" << outcome.GetError().GetMessage() << std::endl; }

Consulte el ejemplo completo

Eliminar un par de claves

Para eliminar un par de claves, llame a la DeleteKeyPair función del EC2 cliente y pásele una DeleteKeyPairRequestque contenga el nombre del par de claves que se va a eliminar.

Incluye

#include <aws/ec2/EC2Client.h> #include <aws/ec2/model/DeleteKeyPairRequest.h> #include <iostream>

Código

Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::DeleteKeyPairRequest request; request.SetKeyName(keyPairName); const Aws::EC2::Model::DeleteKeyPairOutcome outcome = ec2Client.DeleteKeyPair( request); if (!outcome.IsSuccess()) { std::cerr << "Failed to delete key pair " << keyPairName << ":" << outcome.GetError().GetMessage() << std::endl; } else { std::cout << "Successfully deleted key pair named " << keyPairName << std::endl; }

Consulte el ejemplo completo

Más información