今天生成服务器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