以 git 為例,最安全的生成SSH命令大概就是:
ssh-keygen -t ed25519 \
-a 256 \
-C "你的名字/用途/日期 - 例如: wanchun@home-laptop-2026-03" \
-f ~/.ssh/id_ed25519_2026_home
但很多人偷懶,不設(shè)置 passphrase ,但其實(shí)這樣很不安全。這里必須輸入一個(gè)強(qiáng) passphrase!因?yàn)樗借€文件默認(rèn)是明文存儲(chǔ)的,加 passphrase 后即使私鑰被偷走,也需要密碼才能使用(相當(dāng)于第二層防御)。
這樣一來雖然安全了,但是git操作卻比較麻煩,每次commit都得輸入密碼。這篇文章就是幫你在機(jī)器上自動(dòng)配置鑰匙串,這樣就不用每次輸入密碼了。
macOS 配置步驟
# 1. 編輯 SSH config
vim ~/.ssh/config
按 i 進(jìn)入插入模式,粘貼:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/git_xxx_ed25519_home_mac_2026_3
UseKeychain yes
AddKeysToAgent yes
按 ESC → :wq 保存退出
# 2. 添加到鑰匙串(只需一次)
ssh-add --apple-use-keychain ~/.ssh/git_xxx_ed25519_home_mac_2026_3
# 輸入密碼
# 3. 驗(yàn)證
ssh -T git@github.com
# 應(yīng)該顯示:Hi 你的用戶名! ...
Windows 配置步驟
# 1. 以管理員身份打開 PowerShell
# 啟動(dòng) ssh-agent 服務(wù)
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
# 2. 編輯 SSH config(用記事本)
notepad C:\Users\你的用戶名\.ssh\config
粘貼:
Host github.com
HostName github.com
User git
IdentityFile C:\Users\你的用戶名\.ssh\git_xxx_ed25519_home_win_2026_3
AddKeysToAgent yes
# 3. 添加密鑰到 agent
ssh-add C:\Users\你的用戶名\.ssh\git_xxx_ed25519_home_win_2026_3
# 輸入密碼
# 4. 驗(yàn)證
ssh -T git@github.com
注意
-
User 必須是
git,不是你的 GitHub 用戶名 -
IdentityFile路徑要換成你的實(shí)際密鑰文件名 - 只需第一次輸入密碼,以后就免密了