zoukankan      html  css  js  c++  java
  • GIT:如何管理本机的多个ssh密钥(多个远程仓库账号)

          最近在学习git,首先推荐一个个人认为很不错的git教程,学习后,从git新手变成了git入门了,仍需继续努力。

          廖老师的git学习教程(其他git基础知识点,本篇博客就不做介绍了,自己看教程学习吧,老师讲解很不错,通俗易懂):

          http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 

          这里是将自己遇到的一个问题,通过查阅资料,大部分内容转载网址: https://segmentfault.com/a/1190000005607713 ,非常感谢这位大神,在此也分享给其他爱好git的朋友。我们可能会需要在一台电脑上以不同的github账户去使用git,这时就需要去解决如何管理本机上的多个ssh key的问题了(情景:比如你有一个github网站远程仓库的账号,同时又有一个公司远程仓库的账号,为了便于不同仓库代码的pull和push,就需要配置多个ssh密钥了)。

     

    生成新ssh key

          如果我们电脑上已经存在了一个ssh key,那么我们需要在我们电脑上生成第二个你想在本电脑上使用的id_rsa,使用命令:ssh-keygen -t rsa -C "你的github账号"。 

    红色标注部分会提示你把新生成的id_rsa存放到哪里,此处默认会存放在c盘的用户名下的.ssh文件夹下(即你第一个github用户ssh key存放的目录),因此我们需要输入路径/c/Users/DodoMonster/.ssh(注意此路径是你的系统盘下用户目录安放ssh密钥的目录,请使用自己电脑上相对应的目录),最后我以“id_rsa_gman”重新命名了ssh key防止默认与已有的ssh key重复。

         

        在输入了路径后,会提示你输入提交项目时输入的验证密码,不输则表示不用密码,这是为了防止别人随便在你的项目上push东西,所以最好还是输入以下你的密码。回车,再重复输入确认回车即可(一路回车也可以,此时没有密码)。

    添加新ssh key

          默认SSH只会读取id_rsa,所以为了让SSH识别新的私钥,需要将其添加到SSH agent
    使用命令:ssh-add ~/.ssh/id_rsa_gman

         

        如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent;可执行ssh-agent bash命令后再执行ssh-add命令

    配置config文件

          查看.ssh文件中是否存在config文件

          如果已存在则直接编辑config文件,命令:vim config          #这是linux的命令,进入了vim界面后按a或i或A或I进入编辑模式,编辑完成后按esc键输入:wq 保存文件退出

          如果不存在则需要创建config文件,命令:touch config,再对config文件进行编辑

          

       对config文件进行配置填写:

            #Default github user(DodoMonster@email.com)-这其实是注释
            Host github  #把默认的常用的github Host设为github.com较好
            HostName github.com
            PreferredAuthentications publickey
            IdentityFile ~/.ssh/id_rsa_me

    其中Host 后的名字可以随意方便自己记忆,但HostName必须为github.com。

    # ************************************************
    #second user(monster@qq.com) Host monster HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa ps:HostName 是域名

    测试是否配置成功

      使用命令:

       ssh -T git@github.com
       ssh -T git@github
            

    出现如图的欢迎语则为配置成功。

    注意:配置完成后,在连接Host不是github.com的github仓库时,远程库的地址要对应地做一些修改,比如现在添加monster帐号下的一个仓库orderTicket,则需要使用如下命令这样添加:

    git remote add test git@github:monster/orderTicket.git

         而并非原来的git@github.com:monster/orderTicket.git(这样每次连接都会使用id_rsa与服务器进行连接)。

    配置至此,大功告成!

        另外注意:github根据配置文件的user.email来获取github帐号显示author信息,所以对于多帐号用户一定要记得将user.email改为相应的email(monster@mail.com)。

  • 相关阅读:
    Java 21-Spring知识
    Java18-黑马旅游网学习制作
    Java17-Filter&Listener&Json&redis&maven
    python发邮件
    一元模型拟合(OLS和插值np拟合)
    一元模型拟合
    2.13 描述性统计(平均数,中位数,中数,数据的离散度(极差,平均绝对偏差,方差标准差))
    tushare 股票数据获取,收益率计算,直方图绘制
    主板指数数据的爬取(selenium处理JS)
    网页整页截图小工具
  • 原文地址:https://www.cnblogs.com/anyefrozen/p/6379046.html
Copyright © 2011-2022 走看看