---
# System prepended metadata

title: Github - Deploy Key範例

---

#  為何要用 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.