Trabalhar com pares de chaves do Amazon EC2 com o AWS SDK para PHP versão 3
O Amazon EC2 utiliza criptografia de chave pública para criptografar e descriptografar as informações de login. A criptografia de chave pública usa uma chave pública para criptografar dados. Em seguida, o destinatário usa a chave privada para descriptografar os dados. As chaves pública e privada são conhecidas como par de chaves.
Os exemplos a seguir mostram como:
-
Criar um par de chaves RSA de 2.048 bits usando CreateKeyPair.
-
Excluir um determinado par de chaves usando DeleteKeyPair.
-
Descrever um ou mais pares de chaves usando DescribeKeyPairs.
O código de exemplo completo do AWS SDK para PHP está disponível aqui no GitHub
Credenciais
Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Autenticar com a AWS usando o AWS SDK para PHP versão 3. Em seguida, importe o AWS SDK para PHP, conforme descrito em Instalar o AWS SDK para PHP versão 3.
Criar um par de chaves
Importações
require 'vendor/autoload.php';
Código de exemplo
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $keyPairName = 'my-keypair'; $result = $ec2Client->createKeyPair(array( 'KeyName' => $keyPairName )); // Save the private key $saveKeyLocation = getenv('HOME') . "/.ssh/{$keyPairName}.pem"; file_put_contents($saveKeyLocation, $result['keyMaterial']); // Update the key's permissions so it can be used with SSH chmod($saveKeyLocation, 0600);
Excluir um par de chaves
Importações
require 'vendor/autoload.php';
Código de exemplo
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $keyPairName = 'my-keypair'; $result = $ec2Client->deleteKeyPair(array( 'KeyName' => $keyPairName )); var_dump($result);
Descrever pares de chaves
Importações
require 'vendor/autoload.php';
Código de exemplo
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $result = $ec2Client->describeKeyPairs(); var_dump($result);