本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon EC2 密钥对Amazon SDK for PHP版本 3
Amazon EC2 使用公有密钥密码系统来加密和解密登录信息。公有密钥加密法使用公有密钥来加密数据。随后,收件人使用私有密钥解密数据。公有和私有密钥被称为密钥对。
以下示例演示如何:
-
使用 CreateKeyPair 创建 2048 位 RSA 密钥对。
-
使用 DeleteKeyPair 删除指定密钥对。
-
使用 DescribeKeyPairs 描述一个或多个密钥对。
Amazon SDK for PHPGitHub 上提供了
凭证
运行示例代码之前,请配置Amazon凭证,如中所述设置 凭证. 然后导入Amazon SDK for PHP,如中所述基本用法.
创建密钥对
导入
require 'vendor/autoload.php'; use Aws\Ec2\Ec2Client;
示例代码
$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);
删除密钥对
导入
require 'vendor/autoload.php'; use Aws\Ec2\Ec2Client;
示例代码
$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);
描述密钥对
导入
require 'vendor/autoload.php'; use Aws\Ec2\Ec2Client;
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $result = $ec2Client->describeKeyPairs(); var_dump($result);