学习目标:
掌握Git的知识
学习内容:
1.HTTPS和SSH方式的区别 2.完整配置SSH秘钥和公钥的步骤 3.多个github账号的SSH冲突解决 4.SSH端口被防火墙屏蔽问题解决 5.通过HTTPS或者SSH克隆私有项目学习时间:
2022.2.10学习产出:
1.HTTPS和SSH方式的区别
在git中clone项目有两种方式:HTTPS和SSH,它们的区别如下:
HTTPS:不管是谁,拿到url随便clone,但是在push的时候需要验证用户名和密码;
SSH:clone的项目你必须是拥有者或者管理员,而且需要在clone前添加SSH Key。
SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
在git中使用SSH Key的步骤: 检查电脑是否存在SSH Key:$ cd ~/.ssh$ ls 如果存在id_rsa.pub 或
id_dsa.pub 文件,说明文件以及存在,跳过创建SSH Key步骤。 创建SSH Key 将公共的SSH 放到远程仓库上
2.完整配置SSH秘钥和公钥的步骤
请看我该专栏的另外一篇文章
3.多个github账号的SSH冲突解决
github使用SSH与客户端连接。如果是单用户(first),生成密钥对后,将公钥保存至github,
每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。
单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。
但是如果是多用户(first,second),我们在连接到second的帐号时,
second保存的是自己的公钥,但是SSH客户端依然发送默认私钥,即first的私钥, 那么这个验证自然无法通过。
不过,要实现多帐号下的SSH key切换在客户端做一些配置即可。
首先cd到~/.ssh 使用 ssh-keygen -t -rsa -C ‘second@mail.com’ 生成新的SSH key:id_rsa_second,生成完后将新的SSH public key添加到github。