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

設定新機器

# 建立 symlinks從 iCloud 連結到 ~/.ssh
./create_ssh_symlinks.sh

# 如需載入 AWS PEM 金鑰至 ssh-agent
./ssh_key_management.sh
./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 管理金鑰
  • ExitOnForwardFailure:轉發失敗立即退出

安全注意事項

  • 私鑰和 PEM 檔案已在 .gitignore 中排除,不會被提交
  • known_hosts 為動態產生,不納入版控
Description
No description provided
Readme 44 KiB
Languages
Shell 100%