Github 配置SSH KEY

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZCF1002797280/article/details/51859414

0. 前言

很多朋友在用 github 管理项目的时候,都是直接使用 https url 克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用 https url 克隆呢?

这是因为,使用 https url 克隆对初学者来说会比较方便,复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了。而使用 SSH url 克隆却需要在克隆之前先配置和添加好 SSH key 。

1. https 和 SSH 的区别:

  • 前者可以随意克隆 github 上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。

  • https url 在 push 的时候是需要验证用户名和密码的;而 SSH 在 push 的时候,是不需要输入用户名的,如果配置SSH key 的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

2. 在 Github 上添加 SSH key

  1. 生成 SSH Key

    $ ssh-keygen -t rsa -C "[email protected]"
        代码参数含义:
        -t 指定密钥类型,默认是 rsa ,可以省略,还可以指定为 dsa。
        -C 设置注释文字,比如邮箱。
        -f 指定密钥文件存储文件名。可以省略,使用默认值 id_rsa 和 id_rsa.pub。

    接着又会提示你输入两次密码(该密码是你 push 文件的时候要输入的密码,而不是 github 管理者的密码),当然,你也可以不输入密码,直接按回车(推荐)。那么 push 的时候就不需要输入密码,直接提交到 github 上了。

  2. 检查是否成功生成 SSH key

    $ cd ~/.ssh
    
    $ ls
        -rw-------  1 zhangchengfei zhangchengfei   672 123 08:50 id_rsa
        -rw-r--r--  1 zhangchengfei zhangchengfei   610 123 08:50 id_rsa.pub
    

    这两个命令就是检查是否已经存在 id_rsa.pubid_dsa.pub

  3. 添加 SSH Key 到 github 上

    • 登录你的 github 账号,从右上角的 Account Settings 进入,然后点击左边菜单栏的 SSH and GPG keys,点击 New SSH key.ssh/id_rsa.pub 的内容拷贝到 key 对应的输入框。Title 可以自己命名,默认的会使用你的邮件名称。
  4. 测试 SSH key 是否配置成功

    $ ssh -T [email protected]
    
        The authenticity of host 'github.com (192.30.252.121)' can't be established.
        RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
        Are you sure you want to continue connecting (yes/no)?

    当你输入上面测试命令后,会有一段警告,输入 yes 回车即可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码。成功后输出下面一段话:

    Warning: Permanently added 'github.com,192.30.252.121' (RSA) to the list of known hosts.
    Hi linuxcer! You've successfully authenticated, but GitHub does not provide shell access.

3. Github SSH key 使用

3.1 为已经检出的 repos 指定 github 账号:

修改 .git/config 并找到 [remote "origin"] ,修改 url 的值为:

[remote "origin"]   
    url = git@.github.com:user_name/repos_name.git

设置完成后, 在这个工程目录 git push 会自动免密提交代码。
user_name 是指定 Github 账户名。

3.2 使用账号 clone 已存在的 repos

git clone git@github.com:user_name/repos_name.git,

【完】

猜你喜欢

转载自blog.csdn.net/ZCF1002797280/article/details/51859414