美文网首页Git程序员
Git的.ssh文件夹内容介绍

Git的.ssh文件夹内容介绍

作者: SnailTyan | 来源:发表于2016-10-23 19:29 被阅读93次

    文章作者:Tyan
    博客:noahsnail.com  |  CSDN  |  简书

    1. rsa与rsa.pub

    首先是rsa与rsa.pub是如何产生的,产生的命令如下:

    ssh-keygen -t rsa -C "yourname@email.com"
    

    解释:ssh-keygen是产生密钥,密钥有两种类型rsa和dsa两种,-t用来指定密钥类型,-t rsa是将密钥类型指定为rsa,-C是公钥中的备注,通常指定为自己的邮箱。

    上面的命令执行后会让你输入密钥的名字,通常为id_rsa,如果有多个密钥则需要输入不同的名字。id_rsa和id_rsa.pub。id_rsa为私有密钥,id_rsa.pub为公有密钥。id_rsa.pub公钥是我们用来在Github的profile中的SSH and GPG keys中输入的,id_rsa是我们的私钥,当我们从Github上请求内容时,例如clone时,Github服务器会通过算法计算私有密钥,并将计算结果与公有密钥比对,如果不一致会提示访问失败。

    测试是否连接成功可以使用如下命令:

    ssh -T git@github.com
    

    2. config文件

    config文件主要在配置多个git账户时使用的,里面主要配置了访问不同的主机(Host)时采用不同的密钥。文件内容例如:

    #公司的git地址
    Host git.***.com  
       User git
       Hostname git.***.com  #公司的git地址
       IdentityFile ~/.ssh/id_rsa  #访问公司git的SSH KEY
       Port   ***  #公司的git端口
    
    Host github.com
       User git
       Hostname github.com #github的地址
       IdentityFile ~/.ssh/id_rsa_github  #访问github的SSH KEY
    

    3. known_hosts文件

    这个文件主要是用来记录服务器端的Host,IP以及rsa文件的。

    有时候你访问Git服务器,会报Host key verification failed,主机密钥验证失败。主机就是自己的电脑了,密钥失败主要有两种情况:一、RSA密钥改了;二、known_hosts文件中存在缓存记录,如果不是RSA的问题,那应该就是known_hosts文件的问题了,此时查看错误信息里有一条:

    Offending ECDSA key in /Users/username/.ssh/known_hosts: 5
    

    上面的最后一位数可能是别的,你只需要找到对应的那条记录,删掉即可。当然也可以直接删掉known_hosts文件。known_hosts文件主要是用来进行缓存的,缓存主要是为了减少验证次数,不用每次都验证,直接读取缓存即可。

    备注:.ssh文件下的内容就这么多,更多内容例如想知道如何配置Git账户,可以参考我的另一篇文章:Git多用户配置,地址如下:

    CSDN博客地址
    简书博客地址
    个人博客地址

    相关文章

      网友评论

        本文标题:Git的.ssh文件夹内容介绍

        本文链接:https://www.haomeiwen.com/subject/sbekuttx.html