Github SSH配置
原先一直使用https协议在git和github之间进行网络通信,但是在2021年8月13日更新之后,github弃用了原来的密码形式的认证,改用Personal Access Token作为认证方式,经过网上搜索资料后发现,ssh协议比https协议更好用,而且现在github官方推荐也是使用ssh进行配置。
配置SSH Key
-
在自己电脑上生成一个SSH Key(如果先前已经生成,则跳过) ssh-keygen -t rsa -b 4096 -C "your_email@qq.com"
you_email@qq.com 部分写的是你注册github所使用的邮箱。 生成之后会得到以下两个文件,在C:\Users\<your_user_name>\.ssh 目录下能够看到生成的id_rsa 和id_rsa.pub 文件,分别表示私钥和公钥. -
进入github官网,打开个人设置
点击 SSH and GPG Keys -> New SSH Key 将刚才在自己电脑上生成的id_rsa.pub 的内容复制粘贴到下面的文本框,并给这个Key起一个你自己能够分辨的名字。(文件名不固定是id_rsa.pub ,只要是.ssh 文件夹下以.pub 结尾的文件的内容填到Key 下方的文本框即可。) 最后点击"Add SSH key"即可保存。
- 使用SSH协议克隆仓库
配置完毕即可正常使用。
Git远程仓库连接
因Github在2021年8月13日移除了密码验证机制,改用为access token的方式或者ssh的方式,经过查询发现,ssh更加方便好用,故下面教程讲解配置SSH协议的方式连接远程仓库。
修改远程仓库地址
- 对于在2021年8月13日之前连接的本地仓库,通过指令修改仓库地址。
git remote set-url origin [url]
[url] 处填写自己的仓库地址,要使用SSH协议的地址。样例如下:
git remote set-url origin git@github.com:PommesPeter/MemoSummary.git
修改完成后直接使用push或者pull进行测试即可。
- 对于新仓库,添加ssh地址作为远程仓库连接的URL
git remote add origin [url]
一个设备上SSH连接不同的Github账号
在使用过程中会遇到一个问题,如果我想在同一台电脑上连接不同账号的github仓库,这个时候电脑里面只有一个key是不够用的,所以通过在.ssh 文件夹下添加config 文件进行配置实现。
- 在前面的基础上,生成第二个Key
ssh-keygen -t rsa -C "youremail@xxx.com"
但这次不能一路回车,需要修改key的文件名,假如起名叫my ,否则会覆盖掉原来的生成的key。 生成后目录结构如下:(如果生成的第二个ssh key不在.ssh/下,可移动到此目录,默认会生成到终端当前的路径下)
- 在.ssh/下创建
config 文件(文件名就叫config),内容如下
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Host my.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/my
Host 名字可以自己定义,后面会用到。
- 测试配置是否正确
如果出现Hi xxx!You’ve successfully authenticated 就说明连接成功。
注:以后在上传到不同的github账号的时候,只需要在添加远程仓库的地址上把原来的github.com 改成你自己定义的Host名字。
比如这里我是my.github.com ,在添加仓库地址的时候需要修改为以下写法
git remote add origin git@my.github.com:itmyline/blog.git
因为如果直接使用github.com 是对应别的账号,而不是你想要上传的账号。
Access Token配置
以后再填坑…
|