Files
ssh/README.md
2026-04-09 13:06:36 +08:00

63 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SSH Configuration
透過 iCloud Drive 同步 SSH 設定與公鑰,在多台 Mac 之間共享一致的 SSH 環境。
## 架構
```
iCloud/.ssh/ ← 本 repo實際檔案
├── config # 主設定Include config.d/*
├── config.d/ # 依主機/用途分拆的設定檔
├── *.pub # 公鑰
├── *.pem # AWS 金鑰gitignored
├── id_rsa, id_ecdsa # 私鑰gitignored
└── *.sh # 管理腳本
~/.ssh/ ← symlinks 指向 iCloud
├── config → iCloud/.ssh/config
├── config.d → iCloud/.ssh/config.d
├── id_rsa → iCloud/.ssh/id_rsa
├── id_ecdsa → iCloud/.ssh/id_ecdsa
└── sockets/ # ControlMaster 連線 socket
```
## 設定新機器
```bash
# 建立 symlinks從 iCloud 連結到 ~/.ssh
./create_ssh_symlinks.sh
# 如需載入 AWS PEM 金鑰至 ssh-agent
./ssh_key_management.sh
```
## 移除 symlinks
```bash
./delete_ssh_files.sh
```
## config.d 結構
主設定透過 `Include config.d/*` 載入分拆設定,每個檔案對應不同主機群組:
| 檔案 | 用途 |
|------|------|
| `acetech` | Acetech 相關主機 |
| `digitalocean` | DigitalOcean 主機 |
| `jason_hsieh` | jason_hsieh 相關主機 |
| `ma` | ma 相關主機 |
| `timmy` | 個人主機 |
## 全域設定重點
- **ControlMaster**自動多工連線socket 保留 5 分鐘
- **KeepAlive**:每 60 秒探測5 次無回應斷線
- **IdentityAgent**:使用 [Secretive](https://github.com/maxgoedjen/secretive) 管理金鑰
- **ExitOnForwardFailure**:轉發失敗立即退出
## 安全注意事項
- 私鑰和 PEM 檔案已在 `.gitignore` 中排除,**不會被提交**
- `known_hosts` 為動態產生,不納入版控