将您的 Linux 应用程序迁移到 Amazon 云,第 1 部分: 初始迁移
2010-08-02 00:00:00 来源:WEB开发网第一条命令使用 ami-10b55379 AMI 启动这个实例并指定 清单 1 生成的密匙对将用于验证到机器。这个命令返回几条信息,最重要的是实例标识符(i-750fff1e),这是 Amazon EC2 云中的这台机器的身份。第二条命令使用 ec2-describe-instances 命令,该命令列示所有正在运行的实例。在 清单 3 中,实例标识符已经在命令行上传递以只显示关于该实例的信息。这个实例的状态列示为 pending,表示该实例还在等待启动。IBM AMI 比较大,因此它通常要花费 5-10 分钟来启动。稍后运行相同的命令显示状态变为 running,外部 IP 地址为 184.73.43.141。从 10 开始的内部 IP 地址对于在 Amazon EC2 内通信有用,但现在没有用。
然后,您可以使用 SSH 来连接到服务器,这还要用到您刚才生成的密匙。但是首先,您必须允许 SSH (22/TCP) 进入防火墙。清单 4 展示了如何授权这个连接并登录您的新服务器。
理解 SSH 密匙
如果您对 SSH 密匙不熟悉,那么知道 SSH 能够使用密匙而不是密码来验证用户是很有帮助的。您生成了一个密匙对,它由一个公共密匙和一个私有密匙组成。您将私有密匙保存为私有,并将公共密匙上传到一个名为 authorized_keys 的文件,该文件位于 $HOME/.ssh 目录中。当您使用 SSH 连接到服务器时,客户端会尝试使用该密匙验证。如果成功,您就登录进来。
密匙对的一个特性是使用密匙对中的一个密匙加密的消息只能使用另一个密匙解密。当您连接到服务器时,服务器能够使用 authorized_keys 文件中存储的公共密匙加密一条消息。如果您能使用您的公共密匙解密该消息,那么服务器就知道您被授权无需密码即可登录。
下一个逻辑问题是:“authorized_keys 文件如何使用存储在 Amazon 中的公共密匙填充?”每个 Amazon EC2 实例都能够与 Amazon EC2 云中的一个位于 http://169.254.169.254 的 Web 服务器进行通信并检索关于该实例的元数据。其中的一个 URL 是 http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key,它返回与该映像关联的公共密匙。
更多精彩
赞助商链接