給Mac重裝了系統(tǒng), 之前的所有設(shè)置都沒了.在安裝了sourcetree之后在公司的gitlab上添加好創(chuàng)建的ssh key的公鑰. 但是在拉取和推送的時候總是報Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
.這樣的錯誤!
image
而且在.ssh
目錄下執(zhí)行完ssh-add ~/.ssh/id_rsa
或者ssh-add -K ~/.ssh/id_rsa
之后, 每次重啟都要重新執(zhí)行一下這樣的命令才行, 這顯然是無法忍受的.
看了在網(wǎng)上看了很多文章都無法解決
后來在這里找到了解決辦法:https://www.shintaku.cc/posts/ssh-add/
現(xiàn)摘錄如下:
自從macOS升級到Sierra 10.12以后ssh-agent
不會自動加載密碼短語了躬柬,每次重啟后ssh登機器時總是提示輸入密鑰的密碼短語劳翰,所以每次開機都要用ssh-add -K ~/.ssh/id_rsa
將它手動添加到鑰匙串中才行请祖。
后來在GitHub找到了解決方案,其實就是簡單配置了一下~/.ssh/config
:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/github_rsa
用IdentityFile指定要自動添加的密鑰即可穿肄。
現(xiàn)在終于可以愉快的coding了!
補充:
假如你拿到的是一臺全新的機器, 那么你要按照下面的操作步驟進行:
- 生成sshkey
- 執(zhí)行
ssh-add ~/.ssh/id_rsa
將sshkey
添加到sourceTree - 執(zhí)行
ssh-add -K ~/.ssh/id_rsa
將sshkey
添加到鑰匙串 -
cd
到.ssh
目錄下, 用touch config
命令創(chuàng)建config
文件 - 執(zhí)行
open config
, 打開config文件. - 輸入上面的配置內(nèi)容, 保存·
config
文件
以后每次啟動電腦source tree都會自動加載sshkey.
轉(zhuǎn)載:http://www.reibang.com/p/c0d5e649411f