GitHub 的 Git 用户名和邮箱配置+【SSH Key】加密传输

摘要

  1. 硬件环境:无特殊要求
  2. 软件环境 :windows
  3. 讲解了如何将本地项目同步或源码库同步到GitHub上。
  4. 点击此处查看 Git 的安装教程
  5. 在 MIniTTY 终端中
    【 按 上下键 可以 翻阅 历史命令】
    【 按 Home 和 End 可以快速切换到 行首 和 行尾】
    【Delete 可以删除 后一个 字符】

【配置 Git】

优先级:--local > --global > --system
用了--global这个参数,表示你这台机器上所有的Git仓库都会使用这个配置 ?_?

配置用户名和邮箱

  1. 查询和设置用户名和邮箱:
git config -l 							# 查看配置
git config --list						# 作用相同

git config --global user.name        	# 查看用户名
git config --global user.email       	# 查看邮箱

git config --global user.name 用户名  	# 修改用户名
git config --global user.email 邮箱   	# 修改邮箱

  1. 查看配置详情
    【help.format=html】帮助文档采用 html 文档
    【core.editor=“URL” --wait】内核编辑器的位置,我采用的 VS code,安装在图中路径。
    还未配置,所有图中并没有用户名和邮箱的配置说明

查看配置

  1. 查看和设置用户名和邮箱

查询和设置用户名和邮箱
4. 再次查看配置详情
显示了用户名和邮箱,说明配置成功。

配置成功


【设置【SSH Key】加密传输】

目的

管理项目的时候,直接使用https url克隆到本地(对初学者来说会比较方便),还是使用 SSH url
克隆到本地(需要在克隆之前先配置和添加好 SSH key),

因此,如果你想要使用 SSH url 克隆的话,你必须是这个项目的拥有者。否则你是无法添加 SSH key 的。

https 和 SSH 的区别

  1. 前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
  2. https url 在 push(本地传到GitHub) 的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

Git 操作

许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。

  1. 检查是否已经生成密钥:
cd  ~/.ssh

cd ~/.ssh】就是查看Home目录(Windows是Administrator目录)下有没有 .ssh 隐藏文件夹
没有生成如图:

么有密钥

  1. 执行如下指令生成密钥(公有/私有 密钥对):
ssh-keygen -t rsa -C "邮箱"

ssh-keygen -t rsa -C "邮箱"
ssh-keygen】是命令标识符;
-t rsa密钥类型用 -t 选项指定,没有指定默认生成用于SSH-2的RSA密钥。这里使用的是rsa(密钥开头的格式 看图);
-C "注释字段,随意填写说明信息"注释字段,用-C来指定注释,方便用户标识这个密钥,指出密钥的用途或其他有用的信息。所以在这里输入自己的邮箱或者其他都行。
-f 文件名】指定密钥文件存储文件名,可省。

生成密钥

  1. 如上图【操作】:
  2. 【Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):】 输入保存密钥的文件名,默认id_rsa(推荐)
  3. 【Enter passphrase (empty for no passphrase):】接着会让输入2次密码(passphrase),空表示没有密码。该密码是你【push】文件的时候要输入的密码,而不是github管理者的密码;3次回车即可完成当前步骤。
  4. (我的【push】密码: 喜欢南,做个备忘);
  5. 注意:输入密码的时候没得任何提示,但实际你已经输入了。【切记
  6. 密码的作用,下次使用密钥的时候需要输入密码;
  7. 【.ssh】隐藏文件夹下生成了两个文件:【id_rsa】和【id_rsa.pub】
  8. 存放于【C:\Users\Administrator.ssh】隐藏文件夹下
  9. 【Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.】
    【Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.】
    【id_rsa】猜测是私有密钥,【id_rsa.pub】是公有密钥。
  10. 【The key fingerprint is:
    SHA256:1xJagBF6mxd5ow3poBO2tgQs+bmaXYKOTVZf7UfNogQ 2116447359@qq.com
    不懂(?_?)
  11. 还有一个图,不懂(?_?)

密钥文件
14. 查看密钥:

cat  ~/.ssh/id_rsa			# 查看私钥
cat  ~/.ssh/id_rsa.pub   	# 查看公钥
  1. 现在,进行了上述操作的用户需要将各自的公钥发送给任意一个 Git 服务器管理员(假设服务器正在使用基于公钥的 SSH 验证设置)。 他们所要做的就是复制各自的 .pub 文件内容,并将其通过邮件发送。
    公钥看起来是这样的:

公钥
16. 关于在多种操作系统中生成 SSH 密钥的更深入教程,请参阅 GitHub 的 SSH 密钥指南 https://help.github.com/articles/generating-ssh-keys


GitHub操作

  1. 按图示步骤操作:

新建密钥

  1. Title用来区分多个密钥:(默认邮箱名?)
clip < ~/.ssh/id_rsa.pub  # git命令复制文件内容

添加密钥(公钥)

  1. 输入自己GitHub 账号的密码,而不是上面刚刚设置的密码

验证密码

  1. 添加成功:

添加成功

测试【SSH Key】

1.输入测试代码:

ssh -T git@github.com

验证sshkey

  1. 【The authenticity of host ‘github.com (13.229.188.59)’ can’t be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    Are you sure you want to continue connecting (yes/no)?】警告信息,输入yes 回车即可。
  2. 【Warning: Permanently added ‘github.com,13.229.188.59’ (RSA) to the list of known hosts.】警告:永久添加“github.com,13.229.188.59”(RSA)到已知主机列表中。(【.ssh】文件夹下生成一个【known_hosts】文件)
  3. 【Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’:】输入你的【push】密码刚刚设置的。
  4. 注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。
  5. 【Hi QMec/Test! You’ve successfully authenticated, but GitHub does not provide shell access.】QMec/Test仓库名,确认是自己的,且显示此信息说明SSH设置成功,如果你看到 【access denied】 ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。

注意事项

  1. 密码不能忘

总结

  1. 需要多参考几篇文档才能精通呀!
  2. 学习到 Linux 的命令是 Shell 语言,代码块应该使用 shell(bash 也可以)。

思考

  1. SSH加密传输的作用,我的理解是:可以防止其他人【push】文件到你的GitHub仓库。

【如果有什么疑问或指正,请留言。】


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值