我无法在AWS IAM上上传服务器证书

我有AWS iam在我的服务器上工作 ,并尝试上传一些证书:

aws iam upload-server-certificate --server-certificate-name domain2014 --certificate-body file:///var/www/html/certificate.pem --private-key file:///var/www/html/private-key.pem --certificate-chain file:///var/www/html/ca.pem 

我得到:

 Error parsing parameter '--certificate-body': file does not exist: /var/www/html/certificate.pem 

我尝试从我的MAC上传文件,并得到相同的答案。

已经检查了这个问题,但文件:/ /不丢失,路线是确定的。

我有证书,如:

  AWSAccessKeyId=BKIAJQ1111111111111 AWSSecretKey=H+2+2mko11111111111111cv+UFuA6 

还有一个configuration文件。 但我真的不明白在哪里或如何使用它来上传证书(使用awsconfiguration后,我完成了信息,然后我不知道下一步该怎么做)。

所有这些过程都是在昨天完成上传负载平衡器的过程而没有问题的时候开始的,但后来我意识到,实际上工作的证书是我以前在服务器上的自签名 (这是我昨天发布的问题 )

编辑:

如果我尝试从terminal:

 aws iam list-server-certificates 

我得到:

 A client error (AccessDenied) occurred when calling the ListServerCertificates operation: User: arn:aws:iam::999990212999:user/admin is not authorized to perform: iam:ListServerCertificates on resource: arn:aws:iam:: 999990212999:server-certificate/ 

编辑2

AccessDenied问题与权限有关。 您必须转到EC2pipe理控制台 – >pipe理和安全 – > IAM – >用户 – >select用户并转到用户权限。 select“附加用户策略”。 在那里,你select了适合你的属性的configuration文件(在我的情况下是pipe理员访问)。

一旦你更新权限,你可以select证书(如果使用负载平衡器或IAM正确加载)。

编辑3

我意识到我不需要上传证书,因为我已经使用负载平衡器 。 我的一部分困惑是我不得不再次使用AWS IAM加载证书。

如果您的证书已经在服务器上,最后一步是更改您的域logging集。 如果您的域名在AWS中托pipe,请转到EC2pipe理控制台中的“ 路由53 ”并创build一个logging集。 它必须是A类logging(而不是CNAME ),别名指向您的Amazon负载均衡 (在面板的DNS选项卡中查看您的地址)。 地址应该是这样的:

 9999999999.eu-west-1.elb.amazonaws.com 

该命令正在查找不存在的文件

 file does not exist: /var/www/html/certificate.pem 

可能你的证书没有被命名为certificate.pem,或者我的猜测是你没有一个名为/ var / www的文件夹在你运行这个命令的本地系统上(也不在你的mac上)。

您需要将certificate.pem的位置放在本地计算机上之后://
如果它的名称不是certificate.pem,请将本地文件名放在命令中。

资源:
http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#UploadSignedCert
http://docs.aws.amazon.com/cli/latest/reference/iam/upload-server-certificate.html