AWS EC2 Create & Remove Keypair Using Ansible Playbook

AWS EC2 Create & Remove Keypair using ansible playbook is possible. In last article i have shown you how to create EC2 instance using Ansible Playbook  in this i am going to show you how to create keypair.

Generate RSA Keypair

[user@rhel7 .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

AWS EC2 Create & remove Keypair

---
- hosts: localhost
  connection: local
  gather_facts: false
  vars:
    region: 'us-east-1'
  tasks:
    - name: Create New Key Pair with specified Keyname
      ec2_key:
        name: sshkeypair
        region: us-east-1
        key_material: 'ssh-rsa AAAAB3N...... user@rhel7'
        force: false
[root@rhel7 playbooks]# ansible-playbook createkeypair.yml

PLAY [localhost] *********************************************************************************************************************

TASK [Create New Key Pair with specified Keyname] ************************************************************************************
changed: [localhost]

PLAY RECAP ***************************************************************************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=0

Take above generate keypair content from ~/.ssh/id_rsa.pub and paste it in key_material value

Note: If you do not download a keypair immediate after creating you can’t retrieve after.

AWS EC2 Remove Keypair

---
- hosts: localhost
connection: local
gather_facts: false
vars:
region: 'us-east-1'
tasks:
- name: Remove Key Pair
local_action: ec2_key
region={{ region }}
name="sshkeypair"
state="absent"

Play Ansible playbook to remove the specified keypair from region

# ansible-playbook removekey.yml

PLAY [localhost] **********

TASK [Remove Key Pair] *******
changed: [localhost -> localhost]

PLAY RECAP ********
localhost : ok=1 changed=1 unreachable=0 failed=0

Related Articles

Download Plays from techtutorials GitHub

Automation make tech life easier

Thanks for your wonderful Support and Encouragement

ARK

My Name is ARK. Expert in grasping any new technology, Interested in Sharing the knowledge. Learn more & Earn More

Leave a Reply

Your email address will not be published.