我已经使用Terraform(没有.pem键)创建了一个ec2实例。我可以在本地系统和ec2实例之间建立ssh连接吗?
答案 0 :(得分:7)
假设您使用具有以下结构的Terraform v0.12.+
设置了一个实例:
resource "aws_instance" "instance" {
ami = "${var.ami}"
instance_type = "t2.micro"
count = 1
associate_public_ip_address = true
}
您可以进行一些其他设置:
output
:output "instance_ip" {
description = "The public ip for ssh access"
value = aws_instance.instance.public_ip
}
aws_key_pair
或创建new one
例如:resource "aws_key_pair" "ssh-key" {
key_name = "ssh-key"
public_key = "ssh-rsa AAAAB3Nza............"
}
key_name
资源中添加instance
:resource "aws_instance" "instance" {
ami = var.ami
instance_type = "t2.micro"
count = 1
associate_public_ip_address = true
key_name = "ssh-key"
}
现在,您需要应用正在运行的terraform apply
和terraform output
来返回公共IP
获取您的公共IP并运行:
ssh <PUBLIC IP>
或具有公钥路径的
ssh -i "~/.ssh/id_rsa.pub" <PUBLIC IP>
来源: