结合使用 Amazon EC2 密钥对与 适用于 PHP 的 Amazon SDK 版本 3 - 适用于 PHP 的 Amazon SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

结合使用 Amazon EC2 密钥对与 适用于 PHP 的 Amazon SDK 版本 3

Amazon EC2 使用公有密钥密码系统来加密和解密登录信息。公有密钥加密法使用公有密钥来加密数据。随后,收件人使用私有密钥解密数据。公有和私有密钥被称为密钥对。

以下示例演示如何:

适用于 PHP 的 Amazon SDKGitHub 上提供了的所有示例代码。

凭证

运行示例代码之前,请配置您的 Amazon 凭证,如 通过适用于 PHP 的 Amazon SDK 版本 3 使用 Amazon 进行身份验证 中所述。然后导入 适用于 PHP 的 Amazon SDK,如 安装适用于 PHP 的 Amazon SDK 版本 3 中所述。

创建密钥对

导入

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);