关于 ec2-api-tools:
我同意它们有点太笨重,我特别不喜欢 ec2-describe-instances 的输出。我最近切换到 python-boto,它为 ec2 提供了一个非常干净且易于使用的界面。
关于无法为 EC2 生成的 ssh 密钥指定密码:
事实并非如此。您可以随时使用以下方法更改任何 ssh 私钥的密码:
ssh-keygen -p -f /path/to/keyfile
例如
ssh-keygen -p -f ~/.ssh/id_rsa
关于上传自己的 ssh 密钥对:
您可以使用 ec2-import-keypair,如下所示:
for i in $(ec2-describe-regions|cut -f 2);do
ec2-import-keypair --region $i mykey --public-key-file ~/.ssh/id_rsa.pub
done
上面的示例会将 ~/.ssh/id_rsa.pub 中的公钥上传到名为“mykey”的每个区域。请记住,每个区域都有自己的密钥对。
为了在您的 ec2 实例中安装密钥,您必须将“-k mykey”选项传递给 ec2-run-instances。
顺便说一句,上传您自己的密钥对是使用相同密钥登录所有区域的所有实例的唯一方法。如果您从 Web 界面创建密钥对,您将在每个区域拥有不同的密钥。