# 為何要用 Deploy Key? 1. 自動化部署: 讓伺服器(例如生產環境、CI/CD runner)能自動拉取 (pull) 或部署程式碼,不需要人工輸入帳號密碼或 personal access token(PAT)。 2. 權限最小化: 每個 deploy key 綁定到一個 repository,不會像使用者帳號一樣有過多權限。這降低了安全風險。 3. 不需使用者帳號: 無需用你的 GitHub 帳號登入,避免帳號洩漏或帳號更改影響部署。 4. 安全且獨立管理: SSH 金鑰可以為不同的伺服器或部署任務獨立生成與管理,避免共用密碼或 token。 # 使用流程 #### 注意!若按無repo admin權限,請找你的上級主管處理,謝謝。 ### 1. 至github網站, repo/settings ![截圖 2025-05-26 中午12.15.16](https://hackmd.io/_uploads/r1XMoPbfgg.png) ### 2. 左側找到deploy keys ![截圖 2025-05-26 中午12.19.28](https://hackmd.io/_uploads/rJkZ3PbMle.png) ### 3. 右方 add deploy key ![image](https://hackmd.io/_uploads/H1sS2w-Mxg.png) ### 4. 新增 ssh key,並修改 ssh config 新增ssh key方法: (你可以自己選擇想要的key名稱,將自動生成private & public key) ``` ssh-keygen ``` 新增完後,將你所產生的key name加入config,並修改Host #### 這個很重要!!!,因為你要clone的時候你會把public key放上去,那你就要用對應的Host ![image](https://hackmd.io/_uploads/HJ9qTD-Gee.png) ### 5. 然後將剛剛產生的ssh key新增至網頁上settings #### 注意! 每台電腦 "每個專案repo" 請新增一個專屬ssh key。 ![截圖 2025-05-26 中午12.22.04](https://hackmd.io/_uploads/H13AhcWMle.png) ### 6. clone專案下來 ``` git clone git@{Host}:nexuni/ai-voice-assistant.git ``` ![截圖 2025-05-26 中午12.33.48](https://hackmd.io/_uploads/HJnkldZflg.png) ### Done.