aws_key_pair.kyc_app_public_key:错误导入KeyPair:InvalidKey.Format:密钥不是有效的OpenSSH公钥格式

时间:2019-03-22 02:55:22

标签: terraform terraform-provider-aws

我总是在Terraform上收到此错误。我该如何解决?

  

aws_key_pair.kyc_app_public_key:错误导入KeyPair:InvalidKey.Format:密钥不是有效的OpenSSH公钥格式

我已经使用此命令ssh-keygen -t rsa -N "" -b 2048 -C "assignment"

生成了ssh

这是我在terraform上的配置脚本

resource "aws_key_pair" "kyc_app_public_key" {
  key_name = "assignment"
  public_key ="//~/.ssh/id_rsa.pub"
}

1 个答案:

答案 0 :(得分:0)

因此,如果您浏览official document,则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"
}

如果要引用文件名而不是内容,请使用函数file()

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

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

public_key = "${file("${path.module}/id_rsa.pub")}"