今天生成服務器sshkey的時候悲劇的把本地~/.ssh/id_rsa
這個文件給覆蓋了,而後致使個人git不能提交文件了,ssh若是沒有特殊配置的話,默認使用的就是~/.ssh/id_rsa
這個文件當作私鑰的,因此如今問題來了,個人git想要使用key訪問遠程倉庫,而服務器也要用這個key,顯然這兩個key不是同樣的,可是文件只有一個,怎麼辦呢?git
解決方法以下:服務器
執行生成key的命令ssh
ssh-keygen -t rsa -C "xiaomingys@gmail.com"
接着會出現以下圖:
注意紅框部分,默認就是使用~/.ssh/id_rsa
這個路徑存放key的,也就是說,若是你不指定key的存放路徑,並且你當前已經有這個文件的話,那麼當前的文件是會被覆蓋的,這固然不是咱們想要的,因此spa
指定key存放路徑code
密碼能夠不須要,兩次回車之後就生成了咱們須要的key
圖片
接下就是須要配置咱們的git使用咱們新建立的key來訪問遠程倉庫啦ip
vi ~/.ssh/config
若是沒有config
這個文件,新建一個就好,而後在config
文件追加以下內容:域名
Host git.company.com User git IdentityFile /Users/guanliyuan/.ssh/test IdentitiesOnly yes
其中git.company.com
是你的遠程倉庫域名User git
就這樣配置就好了,表示這是給git命令使用的IdentityFile
這個表示私鑰文件地址IdentitiesOnly
這個配置yes,表示只使用這裏的key,防止使用默認的it
以上,個人git又能夠愉快的提交文件啦(^o^)/~class