

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 9：更新技術指南以執行命令
<a name="gettingstarted-cookbooks-run-command"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

透過新增會執行在執行個體上建立 SSH 金鑰之命令的配方，來更新您的技術指南。

**更新執行個體上的技術指南及執行新的配方**

1. 在您的本機工作站上，在 `opsworks_cookbook_demo` 目錄中的 `recipes` 子目錄中，建立名為 `run_command.rb` 的檔案，其中包含下列程式碼。如需詳細資訊，請前往 [execute](https://docs.chef.io/resource_execute.html)。

   ```
   execute "Create an SSH key" do
     command "ssh-keygen -f /tmp/my-key -N fLyC3jbY"
   end
   ```

1. 在終端機或命令提示中，使用 **tar** 命令建立 `opsworks_cookbook_demo.tar.gz` 檔案的新版本，其中包含 `opsworks_cookbook_demo` 目錄及其更新後的內容。

1. 將更新後的 `opsworks_cookbook_demo.tar.gz` 檔案上傳至 S3 儲存貯體。

1. 遵循[步驟 5：更新執行個體上的技術指南及執行配方](gettingstarted-cookbooks-copy-cookbook.md)中的程序，更新執行個體上的技術指南及執行配方。在「執行配方」程序中，針對 **Recipes to execute (要執行的配方)**，輸入 **opsworks\$1cookbook\$1demo::run\$1command**。

**測試配方**

1. 登入執行個體 (若您尚未登入的話)。

1. 從命令提示中，逐項執行下列命令以確認 SSH 金鑰已建立：

   ```
   sudo cat /tmp/my-key
   
   sudo cat /tmp/my-key.pub
   ```

   即會顯示 SSH 私有和公有金鑰的內容：

   ```
   -----BEGIN RSA PRIVATE KEY-----
   Proc-Type: 4,ENCRYPTED
   DEK-Info: AES-128-CBC,DEF7A09C...541583FA
   A5p9dCuo...wp0YYH1c
   -----END RSA PRIVATE KEY-----
   
   ssh-rsa AAAAB3N...KaNogZkT root@cookbooks-demo1
   ```

在[下一個步驟](gettingstarted-cookbooks-run-script.md)中，您會更新技術指南，在執行個體上執行指令碼。