aws_key_pair.kyc_app_public_key: Error import KeyPair: InvalidKey.Format: Key is not in valid OpenSSH public key format

Ros*_*mor 2 terraform terraform-provider-aws

I always get this error on my terraform. How do I fix this?

aws_key_pair.kyc_app_public_key: Error import KeyPair: InvalidKey.Format: Key is not in valid OpenSSH public key format

I already generated the ssh with this command ssh-keygen -t rsa -N "" -b 2048 -C "assignment"

Here is my configuration script on terraform

resource "aws_key_pair" "kyc_app_public_key" {
  key_name = "assignment"
  public_key ="//~/.ssh/id_rsa.pub"
}
Run Code Online (Sandbox Code Playgroud)

BMW*_*BMW 5

所以如果你翻阅官方文档,那public_key是公钥文件的内容。

resource "aws_key_pair" "deployer" {
  key_name   = "deployer-key"
  public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3F6tyPEFEzV0LX3X8BsXdMsQz1x2cEikKDEY0aIj41qgxMCP/iteneqXSIFZBp5vizPvaoIR3Um9xK7PGoW8giupGn+EPuxIA4cDM4vzOqOkiMPhz5XK0whEjkVzTo4+S0puvDZuwIsdiW9mxhJc7tgBNL0cYlWSYVkz4G/fslNfRPW5mYAM49f4fhtxPb5ok4Q2Lg9dPKVHO/Bgeu5woMc7RY0p1ej6D4CKFE6lymSDJpW0YHX/wqE9+cfEauh7xZcG0q9t2ta6F6fmX0agvpFyZo8aFbXeUBr7osSCJNgvavWbM/06niWrOvYX2xwWdhXmXSrbX8ZbabVohBK41 email@example.com"
}
Run Code Online (Sandbox Code Playgroud)

如果要引用文件名,多于内容,使用函数 file()

resource "aws_key_pair" "kyc_app_public_key" {
  key_name = "assignment"
  public_key = "${file("//~/.ssh/id_rsa.pub")}"
}
Run Code Online (Sandbox Code Playgroud)

我不是 100% 确定是否按照您的方式工作//~/.ssh/id_rsa.pub,通常我将公钥复制到本地文件夹并引用为

public_key = "${file("${path.module}/id_rsa.pub")}"
Run Code Online (Sandbox Code Playgroud)