CreateKeyPair.php

<?php
/**
* Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* This file is licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License. A copy of
* the License is located at
*
* http://aws.amazon.com/apache2.0/
*
* This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*
* ABOUT THIS PHP SAMPLE: This sample is part of the SDK for PHP Developer Guide topic at
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/ec2-examples-working-with-key-pairs.html
*
*
*
*/
require 'vendor/autoload.php';
use Aws\Ec2\Ec2Client;
/**
* Create a Key Pair
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
$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);

Sample Details

Service: ec2

Last tested: 2018-09-20

Author: jschwarzwalder (AWS)

Type: full-example

Javascript is disabled or is unavailable in your browser.

To use the AWS Documentation, Javascript must be enabled. Please refer to your browser's
Help pages for instructions.