目录
引子
push代码到github仓库时,提示报错。
Push failed Remote: Support for password authentication was removed on August 13, 2021.
说 2021 年 8 月 13 号起取消对密码认证的支持,网上搜了一下才知道不支持 https 方式 push 代码了,要换成 ssh 的方式才可以。
gitee 平台现在还支持。
基于我同时使用 gitee、github 两个平台,在两个平台上注册了账号,所以就想将 git 远程仓库都配置成 ssh 方式,特此记录一下。
多账号多平台配置git
前提是你的电脑已安装 git,如未安装请先安装 git,点击 git 下载
如果之前设置过全局的 user.name 和 user.email , 需要先删掉,删除命令如下
# 查看全局配置git config --global--list# 删除全局配置的用户名git config --global--unset user.name
# 删除全局配置的邮箱git config --global--unset user.email
一、.ssh文件夹路径
找到本机中的
.ssh
文件夹,如果没有,直接新建
.ssh
文件夹
1.1 mac 系统
打开访达,菜单中“前往 - 前往文件夹”,输入下面路径,查看是否有
.ssh
文件夹
按住[ command+shift+. ],显示隐藏的文件;再按一遍,不显示隐藏的文件
/Users/Macbook/
路径中的
Macbook
为你的电脑用户名。
1.2 windows 系统
打开文件资源管理器,输入以下路径,查看是否有
.ssh
文件夹
C:\Users\Just Liu\
路径中的
Just Liu
为你的电脑用户名。
二、生成new ssh
这里因为重新配置,所以可以把
.ssh
文件夹里的所有文件全部删掉
2.1 mac系统
打开终端app,然后输入
cd
,然后从访达中把
.ssh
文件夹拖入到终端中,回车,如下:
2.2 windows 系统
打开
.ssh
文件夹,在
.ssh
文件夹中右键选择
Git Bash Here
,打开命令行窗口
也可以在终端打开,这里我所有命令都在
git
命令窗口进行的
输入命令
ssh-keygen -t rsa -C"your_email_adress"-f id_rsa_github2 -C"Github2"
"your_email_adress"
替换成你的邮箱账号,
-f id_rsa_github2
文件名,可以自定义,默认为
id_rsa
,
-C "Github2"
为描述信息
生成期间会要求输入两次密码,不用输入,直接回车
此时
.ssh
文件夹会新生成两个文件,
id_rsa_github2
(私钥)和
id_rsa_github2.pub
(公钥)。用记事本打开
id_rsa_github2.pub
并复制里面的内容,然后打开相对的平台设置
如github平台:
1、打开设置项
2、打开SSH and GPG keys
3、点击 new ssh key 按钮
4、在 key 文本框中粘贴复制的
id_rsa_github2.pub
中的内容,title 填入
Github2
(描述信息)
5、然后点击 Add SSH key 按钮生成 Authentication Key
然后如法配置你的另一个账号,如:
# 配置gitee平台
ssh-keygen -t rsa -C"your_email_adress"-f id_rsa_gitee -C"gitee"
"your_email_adress"
替换成你的邮箱账号,
-f id_rsa_gitee
文件名可以自定义,
-C "gitee"
为描述信息
然后同样将后缀为 .pub 的文件用记事本打开复制里面的内容,粘贴到平台的 SSH 公钥中去生成。
三、配置 config
完成上面 ssh 公钥后,需要配置 config 文件。打开
.ssh
文件夹查看是否有
config
文件,如果没有直接右键创建一个。
然后可以复制下面的内容去填写你的
config
配置
# gitee
Host gitee
HostName gitee.com
user your_email_adress
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github2
Host Github2
HostName github.com
user your_email_adress
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github2
根据你生成 new ssh 的命令行内容,去修改对应的
config
信息
四、验证
然后输入以下命令,测试连接
ssh-T [email protected]
ssh-T [email protected]
五、用ssh方式拉取远程仓库代码
在本地用ssh方式拉取远程仓库代码,
git clone 仓库ssh地址
注意:不要配置 git 全局的 user.name 和 user.email,只需要在不同的仓库路径文件夹中设置本地的 user.name 和 user.email,如:
# 切换到本地仓库路径文件夹下并设置 `user.name` 和 `user.email`cd 本地仓库路径
git config user.name
git config user.email
然后就可以提交代码到远程仓库,且会记录贡献值啦!
[1]原文阅读
我是 Just,这里是「设计师工作日常」,求点赞求关注!
版权归原作者 设计师工作日常 所有, 如有侵权,请联系我们删除。