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