Create an SSH key in AWS using Terraform
In this blog, we are going to create an ssh key on AWS and assign it to a newly created AWS instance.
let's create an ssh keypair on our local system using the ssh-keygen command
┌──(gaurav㉿learning-ocean)-[~/terraform/youtube-course/aws-first-instance]
└─$ ssh-keygen -t rsa 1 ⨯
Generating public/private rsa key pair.
Enter file in which to save the key (/home/kali/.ssh/id_rsa): ./id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ./id_rsa
Your public key has been saved in ./id_rsa.pub
The key fingerprint is:
SHA256:8CdVo44oVuPiN4AdAKt2sLTiYWpTqCzyF1s5YBcOvWo gaurav@learning-ocean
The key's randomart image is:
+---[RSA 3072]----+
|... . o |
| . .. o o . |
|.o .o+o o |
|o =oo++= + |
|oB.+*+o.S o |
|O +oE++ o |
|== ..+o. |
|+.. o. . |
| .. |
+----[SHA256]-----+
now we can see that id_rsa and id_rsa.pub files were created.
now let's create a file aws-kp.tf with the below content.
# creating ssh-key.
resource "aws_key_pair" "key-tf" {
key_name = "key-tf"
public_key = file("${path.module}/id_rsa.pub")
}
now let's run terraform plan and apply the command we can see that the new key pair create on aws.
$ terraform plan
$ terraform apply