github或gitee的ssh和gpg切換
阿新 • • 發佈:2020-11-20
我個人習慣是凡SSH的都獨自一對金鑰,GPG同理。所以切換github、gitee等各種賬號的時候就需要經常修改配置檔案。
首先,確認自己github/gitee配置了SSH和GPG公鑰
git config --list
# 至少要有下面幾條,最後一條不是必須的
user.name=XXXXXXXX
[email protected]
user.signingkey=ZZZZZZZZZZZZ
commit.gpgsign=true
上面這些可以自己通過配置檔案配置
cat ~/.gitconfig [user] # github-XXXX name = XXXX email = [email protected] signingkey = asdnankdakndk # .....省略其他內容 [commit] template = /Users/ashiamd/.stCommitMsg gpgsign = true
切換github/gitee賬戶的ssh和gpg,就只要修改上述~/.gitconfig
檔案,然後執行下面兩個主要流程
- SSH部分
查詢 ssh-agent程序,然後kill,保證等下新增的ssh認證資訊是對應的使用者
結果如下ps aux |grep 'ssh-agent'
殺死 PID為2685的程序ashiamd 2685 0.0 0.0 4309300 2404 ?? S 4:04下午 0:00.02 /usr/bin/ssh-agent -l ashiamd 3226 0.0 0.0 4399480 792 s000 R+ 4:09下午 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox ssh-agent
檢視現有的ssh金鑰對,ssh新增使用者(隱私問題,把檔名都改了)kill 2685 ps aux |grep 'ssh-agent' ashiamd 3283 0.0 0.0 4399480 792 s000 R+ 4:10下午 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox ssh-agent
檢視是否多出來ssh-agent,有就正常ls ~/.ssh AAA BBB CCC known_hosts AAA.pub BBB.pub CCC.pub DDD EEE FFF GGG DDD.pub EEE.pub FFF.pub GGG.pub config HHH III gitconfig-copy HHH.pub III.pub ssh-add ~/.ssh/AAA
ps aux |grep 'ssh-agent' ashiamd 3785 0.0 0.0 4399480 792 s000 R+ 4:15下午 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox ssh-agen ashiamd 3765 0.0 0.0 4300084 2280 ?? S 4:15下午 0:00.01 /usr/bin/ssh-agent -l
- GPG部分
同樣殺死gpg-agent
然後執行下面這條,之後git commit會要求輸入密碼(GPG生成金鑰時輸入過的)ps aux |grep 'gpg-agent' ashiamd 2618 0.0 0.0 4468668 1616 ?? Ss 4:03下午 0:00.32 gpg-agent --homedir /Users/ashiamd/.gnupg --use-standard-socket --daemon ashiamd 4710 0.0 0.0 4399480 804 s000 S+ 4:18下午 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox gpg-agen kill 2618
ps:如果不小心在輸入密碼的時候按了export GPG_TTY=$(tty)
ctrl+C
,會發現沒法正常輸入密碼了,這時候記得關掉當前terminal然後殺死對應的程序。
這個時候會看到一個CPU跑了90%多的程序,kill它就對了,然後重新export GPG_TTY=$(tty)
top