云计算之路-出海记:整一台 AWS 免费云服务器

时间:2024-01-27 16:37:56

上次蹭到一张船票,登上了 Amazon Web Services (AWS) 这艘巨轮,今天要在船上的免费餐厅吃一顿免费晚餐 —— 整一台 AWS 免费套餐中的 EC2 服务器体验一下。

进入 EC2 控制台,点击“启动实例”,进入 AMI 系统镜像选择页面,勾选“仅免费套餐”,从中选择一台免费的服务器,这里我们选择 Ubuntu 20.04

免费套餐中的实例配置是1核1G

点击“审核和启动”,进入“核查实例启动”页面,点击“启动”,出现“选择现有密钥对或创建新密钥对”对话框

选择创建新密钥对,输入密钥对名称,点击“下载密钥对”,会下载一个 cnblogs.pem 文件(ssh私钥文件)。

点击“启动实例”,遭遇启动失败

这是由于使用我们当前所在的地域“美国西部 (加利福尼亚北部) us-west-1”的云资源需要一个额外的验证过程。

换一个地域试试,换到“美国东部 (俄亥俄州) us-east-2”,这个地域不需要验证,启动实例成功。

与此同时,收到了标题为"Your Request For Accessing AWS Resources Has Been Validated"的邮件,us-west-1 地域的验证也通过了。

You recently requested an AWS Service that required additional validation. Your request has now been validated for AWS US West (N. California) region(s).

在验证的过程中又从信用卡扣了1美元(和注册时一样会返还)。

进入EC2控制台查看刚刚启动的实例信息

拿到服务器实例的公网IP地址,ssh登录试试(默认用户名是ubuntu)

$ ssh ubuntu@3.139.91.143
The authenticity of host \'3.139.91.143 (3.139.91.143)\' can\'t be established.
ECDSA key fingerprint is SHA256:67G0raEM3ml9PqREBefoq2108ZHBwywWXpWiKiuZ4E8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added \'3.139.91.143\' (ECDSA) to the list of known hosts.
root@3.139.91.143: Permission denied (publickey).

 ssh密钥验证失败,需要用之前创建并下载的 cnblogs.pem 密钥文件登录

$ ssh -i cnblogs-us-east-2.pem ubuntu@3.139.91.143
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for \'cnblogs-us-west-1.pem\' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "cnblogs-us-west-1.pem": bad permissions
root@3.139.91.143: Permission denied (publickey).

又失败了,这次是密钥文件的权限问题,644权限(-rw-r--r--@)太开放了,不安全,用 chmode 命令将权限修改为400(-r--------)

chmod 400 cnblogs-us-east-2.pem

修改权限后 ssh 登录成功了

$ ssh -i cnblogs-us-east-2.pem ubuntu@3.139.91.143
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-1024-aws x86_64)
...

如果不想每次 ssh 都输入密码文件,可以使用自己电脑上的默认的密钥。

点击 EC2 控制台左侧菜单中的“密钥对”,进入密钥对控制台,点击右侧“操作”中的“导入密钥对”,导入自己电脑上 ~/.ssh/id_rsa.pub 文件,导入成功后,需求启动新的 EC2 实例才可以使用这个密钥。

在启动实例操作过程中出现“选择现有密钥对或创建新密钥对”对话框时选择刚刚导入的密钥,就可以不需要指定密钥文件直接 ssh 登录了。

$ ssh ubuntu@18.223.33.137
The authenticity of host \'18.223.33.137 (18.223.33.137)\' can\'t be established.
ECDSA key fingerprint is SHA256:LIRxVm471JB9gLRuYJx+S0pueiSaxfBr+neVKuErF5U.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added \'18.223.33.137\' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-1024-aws x86_64)

登录成功后用 curl 命令请求园子首页体验一下

$ curl -s https://www.cnblogs.com | grep "Powered by"
                <div class="poweredby">Powered by .NET 5.0.0-rc.2.20475.5 on Kubernetes</div>

AWS 免费云服务器就这样整好了。