git 指定sshkey访问远程仓库

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

clipboard.png

密码能够不须要,两次回车之后就生成了咱们须要的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

相关文章
相关标签/搜索