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