上次蹭到一張船票,登上了 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 免費雲服務器就這樣整好了。