1、Generate key-pair(public key, private key) using ssh keygen
ssh-keygen -t rsa -b 2048
生成秘钥保存到 /home/rahul/Jhooq/keys/aws/aws_key, 在/home/rahul/Jhooq/keys/aws/出现两个文件
aws_key (private key)
aws_key.pub (public key)
当通过key pair生成私钥时,可以再用puttygen生成对应的公钥,puttygen生成.ppk文件用来登录;
(尤其适应当情况4生成的pem私钥文件)
AWS 创建EC2及使用ssh登录_Andy____Li的博客-CSDN博客_aws ssh
2、Use public key to start EC2 instance
参见aws_instance 文件中main.tf内容
provider "aws" {
region = "us-east-1"
access_key = "AKIAYNQ5KD5LOLCBDJOP"
secret_key = "RiK6l8t+bpsw93NsZDfw4deEOcCiA9m9VsdVq/wt"
}
resource "aws_instance" "ec2_example" {
ami = "ami-0022f774911c1d690"
instance_type = "t2.micro"
key_name= "aws_key"
vpc_security_group_ids = [aws_security_group.main.id]
provisioner "remote-exec" {
inline = [
"touch hello.txt",
"echo helloworld remote provisioner >> hello.txt",
]
}
connection {
type = "ssh"
host = self.public_ip
user = "ec2-user"
private_key = file("../aws_key.pem") ##私钥文件
timeout = "4m"
}
}
resource "aws_security_group" "main" {
egress = [
{
cidr_blocks = [ "0.0.0.0/0", ]
description = ""
from_port = 0
ipv6_cidr_blocks = []
prefix_list_ids = []
protocol = "-1"
security_groups = []
self = false
to_port = 0
}
]
ingress = [
{
cidr_blocks = [ "0.0.0.0/0", ]
description = ""
from_port = 22
ipv6_cidr_blocks = []
prefix_list_ids = []
protocol = "tcp"
security_groups = []
self = false
to_port = 22
}
]
}
resource "aws_key_pair" "deployer" {
key_name = "aws_key"
public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Sic9GXwZHRtXeCTDV8Ns7UbVTYnfc280HZaPIFTG1o+kxzt07tHYAPfgdysxayda/zRaYSZHuIIbhQt8foRs5Ctpz189ALSmtd8vnBF2Tnf0/8EoqkZsl4Nc6hK1ee7QEJ6Yo8JZYq75zBfIMSyTWE84VhUXpTVhoUCDLbVlxgH8od7mOhgoHOuDBTsZTxo/XyQ7diNzBO1+v1ne6AEaOCLJRuzIea5rPEE4GpvuBajTpUA6d1J2OeaLOIl9NZcWpVOvZtsrRYHoE+HgQNDrF9ItePVFUqcmogrHhLNU5Bxs5PA8LnqoPSZYW91EG/cSp5V2OYM2y4A25myb7gDX 86176@DESKTOP-CVS925O" ##公钥
}
3. Use private key ‘aws_key’ to SSH into EC2 instance
ssh -i "aws_key" ubuntu@ec2-18-185-22-181.eu-central-1.compute.amazonaws.com
4. Generate pem file from AWS console and use the file to SSH into EC2
登录时需要改动权限chmod 400 aws_key.pem,win10下文件权限修改参见https://blog.csdn.net/qq_41554005/article/details/118341781
ssh -i "aws_key.pem" ubuntu@ec2-52-58-111-83.eu-central-1.compute.amazonaws.com
具体参考 https://jhooq.com/terraform-ssh-into-aws-ec2/
putty登录 使用 PuTTY 从 Windows 连接到 Linux 实例 - Amazon Elastic Compute Cloud
Terraform 实战:Terraform入门_人邮异步社区的博客-CSDN博客_terraform入门
附录:
私钥:
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAuYj7dOCrslipQkbHBovAkUC3ATYlDl/KGT/STNCELyw3bQmC00/i
ZfVq1LV0JMKrvxBeTCH1PX6UfB12CaYxooryQP2C9+0oz1Z4wv/7reRpuX9YRObtiIKmsY
4gfSHXBPrmZ9wV7AUNnpq8Vyr2y4JNmydktHgUloTVevqXsncD5BSDfKUW4peehq0NFxQL
VwXpAFOxpqE3j0ASMklMSNfvq+QIA4UxK5/83vvVZRS+8LzGnpsOwLx29dE4IQWfGuMYDl
0a1HAHTooIevB47FCnGRaUP9XHE9vgF8Ds979bbSu38wHFU3/wYrd0TFposif3Rw9YyG2j
78P2x+u7mwAAA9DciMWX3IjFlwAAAAdzc2gtcnNhAAABAQC5iPt04KuyWKlCRscGi8CRQL
cBNiUOX8oZP9JM0IQvLDdtCYLTT+Jl9WrUtXQkwqu/EF5MIfU9fpR8HXYJpjGiivJA/YL3
7SjPVnjC//ut5Gm5f1hE5u2IgqaxjiB9IdcE+uZn3BXsBQ2emrxXKvbLgk2bJ2S0eBSWhN
V6+peydwPkFIN8pRbil56GrQ0XFAtXBekAU7GmoTePQBIySUxI1++r5AgDhTErn/ze+9Vl
FL7wvMaemw7AvHb10TghBZ8a4xgOXRrUcAdOigh68HjsUKcZFpQ/1ccT2+AXwOz3v1ttK7
fzAcVTf/Bit3RMWmiyJ/dHD1jIbaPvw/bH67ubAAAAAwEAAQAAAQEApzXFKfixxPIS2SBg
jo205zOjuvvJOcMqqMbUCVaDSuBWs3Y26aq9J5aeyUUff2HS10cxNPwFwX4q5BDJKLkXUp
5W5iuTtU2P0gzkmRmLAZUxk3QpYS+eM8FL6gllTmEJH/vfWwsG1sdXFvHte8HE2nR87K/8
Gol+RIlCvKrLvJHssSf0O1KwAA8NZ09ndkhGZxL/qZTdkQW34z81KKXT64SAdzbOuWGh0T
Q21mZd/cUZb9248vqxV+nLs2dWmiZYqU7oSqhTX6pl/DzeUiNisvFhhd8im0mCDfOQCG+N
W6aCx0ZCBmuqni/+ITYe55sEnZQKkKlCKV/uz75IvIL7AQAAAIEAvX7vyWYP6HUom9bgsx
3x4ugchJjC1UERGXZKk+mLeiHcRY5+o52Rn79A5juj2jaAdebLw3FI3Wh3d2l1NOy6hIa6
GGfVvOeZNkE4Eey27/rP4FtxmI10Dua64QTzyVC6K3XU2tE8N0II3sTjWN0Idx5C+xzHq3
O9P8gSMpIGgHEAAACBAOmWBukHoHN/JDgDogr6Lf3MW2WT0hu3X473V+pkxgg6NAQxz2J3
+bFJMJE4j9oWHxMsyvbe1w+RbMAYFbqD9ZkLtpPU9MVGwYRCRzhV3ArYRnjZi4wZXqqfXK
WGly2Qh2Zsdl03y3FZBZqVhH/8ONtyMl9eAQRkZ54QD1mlv6qRAAAAgQDLVpj4cd4Q6ZwM
tnGvHN130jFm1RlKCrRJpq6YLsLWsFMTrtLGRtqLAK4B4d2XFPiNZ2cTiMGnp9wy35d0l3
5GjgyBVumknFvKERF+xMgx7PqXsiN+ER9udkaUbOVGjK9HJ9nlPBJdyIA+6U0q5m+EDv8X
8Sc2qdkwNmdbhIbhawAAABU4NjE3NkBERVNLVE9QLUNWUzkyNU8BAgME
-----END OPENSSH PRIVATE KEY-----
公钥:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5iPt04KuyWKlCRscGi8CRQLcBNiUOX8oZP9JM0IQvLDdtCYLTT+Jl9WrUtXQkwqu/EF5MIfU9fpR8HXYJpjGiivJA/YL37SjPVnjC//ut5Gm5f1hE5u2IgqaxjiB9IdcE+uZn3BXsBQ2emrxXKvbLgk2bJ2S0eBSWhNV6+peydwPkFIN8pRbil56GrQ0XFAtXBekAU7GmoTePQBIySUxI1++r5AgDhTErn/ze+9VlFL7wvMaemw7AvHb10TghBZ8a4xgOXRrUcAdOigh68HjsUKcZFpQ/1ccT2+AXwOz3v1ttK7fzAcVTf/Bit3RMWmiyJ/dHD1jIbaPvw/bH67ub 86176@DESKTOP-CVS925O