Github 配置SSH KEY

本文详细介绍了在GitHub上使用SSH与HTTPS两种方式克隆仓库的区别,包括配置过程及安全性考量。通过对比,帮助开发者了解如何选择最适合自己的克隆方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 "your_email@example.com"
        代码参数含义:
        -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 git@github.com
    
        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,

【完】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值