Git Push 指定Key

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

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

github多账号配置多个key

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

  • 第一步:生成自己的key

  • 第二步:将key添加到ssh-agent中

    1
    ssh-add ~/.ssh/key-path/id_rsa
  • 第三步:配置文件添加账号key对照关系vi ~/.ssh/config

    1
    2
    3
    4
    5
    6
    7
    8
    # 别名,多个账号使用这里别名区分开即可
    Host p1.github.com
    # 服务器地址
    HostName github.com
    # github用户名
    User xxx@xxx.com
    # 对应的秘钥地址
    IdentityFile ~/.ssh/key-path/
  • 测试

    1
    2
    ➜  ssh -T git@coder.github.com
    Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.