git push 指定key

git 指定ssh key 解决多个ssh sky的问题

  • git 默认使用key~/.ssh/id_rsa.pub 但是如果有个项目不走这个key,另外走一个key可以如下配置
  • 生成一个新的key
ssh-keygen -t rsa -f ~/.ssh/id_rsa_newkey  -C "email" //id_rsa_newkey 新key文件名  email 配置邮箱地址
//直接回车及生成新key
//查看
ls -la ~/.ssh/
  • 配置git用户名项目所需使用key
vi  ~/.ssh/config
  • 加入配置参数
Host git.oschina.net //如oschina git域名
    IdentityFile ~/.ssh/.id_rsa_newkey
    User xxx@qq.com
  • git项目或者git用户中加入公钥key
cat ~/.ssh/.id_rsa_newkey.pub
//复制key 加入自己账户或项目ssh中
  • 测试ssh key是否配置成功
ssh -T git@git.oschina.net //git@域名地址
//输出
Welcome to Git@OSC, username !
  • 如果配置多个ssh key按照以上方法配置多个即可。

github多账号配置多个key

道理一样,只需要配置文件配置上多个账号的key地址即可。

  • 第一步:生成自己的key
  • 第二步:将key添加到ssh-agent中
ssh-add ~/.ssh/key-path/id_rsa
  • 第三步:配置文件添加账号key对照关系vi ~/.ssh/config
# 别名,多个账号使用这里别名区分开即可
Host p1.github.com
# 服务器地址
HostName github.com
# github用户名
User xxx@xxx.com
# 对应的秘钥地址
IdentityFile  ~/.ssh/key-path/
  • 测试
➜  ssh -T git@coder.github.com
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.