我有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
还有一个配置文件。但老实说,我不明白在哪里或如何使用它来上传证书(在使用aws 配置我完成了信息填写然后我不知道下一步该做什么)。
这一切过程始于昨天,当时我完成了上传负载均衡器没有任何问题,但后来我意识到实际起作用的证书是自签名我之前在服务器上有问题我昨天发过)
编辑:
如果我从终端尝试:
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 问题与权限有关。您必须转到 EC2 管理控制台 -> 管理和安全性 -> IAM -> 用户 -> 选择用户并转到用户权限。选择“附加用户策略”。在那里,您选择具有适合您的属性的配置文件(在我的情况下是管理员访问权限)。
一旦您更新权限,您就可以使用证书(如果使用负载平衡器或 IAM 正确加载)。
编辑3:
我意识到我不需要上传证书,因为我已经用负载均衡器。我感到困惑的部分原因是我必须使用AWS IAM再次。
如果您的证书已在服务器上,最后一步是更改您的域记录集。如果您的域托管在 AWS 中,请转到53 号公路在里面EC2 管理控制台并创建一个记录集。它必须是A型记录(不是别名记录),并使用指向您的Amazon 负载均衡器(在标签中检查你的地址DNS在面板中)。地址应该是这样的:
9999999999.eu-west-1.elb.amazonaws.com
答案1
该命令正在寻找不存在的文件
file does not exist: /var/www/html/certificate.pem
可能您的证书不是名为 certificate.pem,或者我猜测您在运行此命令的本地系统上(或在您的 Mac 上)没有名为 /var/www 的文件夹。
您需要在 file:// 后面放置 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
答案2
有时你必须这样做sudo aws
,我得到了类似的错误,因为该文件位于/etc/...
root 用户可以访问的地方