我正在为这里的客户工作,他为我configuration了一个EC2实例。 我已经安装了要求的软件,现在我只需要打开一些端口。 我目前SSH'd到机器,它运行Ubuntu 10.04。
我已经安装了ec2-ami-tools和ec2-api-tools软件包,并尝试运行以下内容,正如其他地方所build议的那样:
ec2-authorize -p 1024 default
不幸的是,这只是失败,给我留下了这个令人讨厌的错误消息:
Required option '-K, --private-key KEY' missing (-h for usage).'
显然,我需要一个密钥来做到这一点,所以我复制我的PEM密钥,我收到的实例到服务器,并再次运行与关键:
ec2-authorize -p 1024 -K mykey.pem default
现在它要求一个证书:
Reqired option `-C, --cert CERT' missing (-h for usage).`
啊。 我真的没有证书,那到底是什么要求我呢? 我没有访问EC2的Web界面,所以我怎样才能从Ubuntu服务器本身打开一个端口?
AWS发布X.509证书来authentication这些请求…您必须让客户端进入AWS并为您生成一个 – 没有正确的身份validation,没有办法做你所要求的。
要使用ec2-api-tools您需要有一个X.509证书: http : //docs.amazonwebservices.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#EC2Credentials
要获得您的证书,您需要转到帐户>安全证书>访问证书> X.509证书。 有关详细信息,请访问: http : //docs.amazonwebservices.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#X509Credentials
您只需使用您的访问密钥和AuthorizeSecurityGroupIngress即可制作对REST API的请求: http : //docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupIngress.html
简单的方法 :
从您的亚马逊帐户(networking)去亚马逊EC2控制台和编辑安全组默认
更复杂的方式:
你有要求从访问networking的人产生新的证书。
对不起,我无法更改安全设置没有访问(证书),有安全原因;)你需要密钥和证书。
阅读这篇文章