多git账户时的ssh配置

为git配置ssh的作用我就不过多描述了,配置成功之后,每次push的时候就不需要输入账号密码了。如果电脑中只有一个git账号,其实配置起来问题不大,基本上不会出现什么问题,我简单描述一下过程

一.单git账户时配置SSH

首先我们先将路径切换到.ssh路径下,键入以下指令

ssh-keygen -t rsa -C "你的git账户"

之后会出现如下提示

三个红色箭头的地方,直接回车即可,这时候会在文件夹中生成id_rsa,id_rsa.pub

使用文本编辑器打开id_rsa.pub,将其中的内容复制粘贴,放到git服务器添加SSH公钥的位置

然后我们键入以下指令

ssh -T git@gitlab.com

如果是github,gitee,或者公司自己的域名,@后写相应的域名即可;如果是没有域名,@后写相应的ip地址

二.多git账户时配置SSH

单git账户的情况配置简单,不会有什么问题,但是我们不可能只有一个git账户吧,有个人的git,有公司的git,所以大多数人会有多个git账号。和个人的配置起来有什么不一样的,我们来看

首先,还是进行公私钥对的生成,如果我们不指定名称,默认生成的就是id_rsa。多个账户时我们想用名称作区分,需要在上述的指令中加一个-f命令,如下

ssh-keygen -t rsa -C "你的git账户" -f "id_rsa_github"

结果如下

 红色箭头地方依然回车,这样就在.ssh文件夹下生成了id_rsa_githubid_rsa_github.pub两个文件

当然,还有另一个方法:依然键入没有-f的指令,在三个箭头中第一个箭头的位置输入要生成的文件名,也是可以的。

将公钥添加到git服务器中,之后输入如下指令进行添加

指令:ssh-add id_rsa_github
结果:Identity added: id_rsa_github (123123)

之后再键入如下指令(以github.com为例,以自己的实际地址为准)

ssh -T git@github.com

但是设置后,依然失败,是因为ssh默认检验的文件是id_rsa,所以我们需要重新配置一下,在

.ssh文件夹中有一个config文件(如果没有,创建一个),配置如下

Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

Host和HostName为域名或ip,PreferredAuthentications为publicky,IdentityFile 为私钥地址名

这样配置完之后,就OK了

三.问题

在配置的时候,遇到过各种奇怪的问题,分享下:


问题1:git@gitee.com: Permission denied (publickey)

描述:我在添加gitee.com的公钥时,执行ssh -T git@gitee.com的时候报了这个问题,后来发现是因为没有执行ssh-add id_rsa_gitee这步操作导致的

参考博客:https://www.jianshu.com/p/b2ff4e11568c

问题2:Error connecting to agent: No such file or directory

描述:执行问题1中的ssh-add指令时,报了这个问题,是因为ssh-agent没有开,需要以管理员身份执行以下指令

Set-Service ssh-agent -StartupType Manual
Start-Service ssh-agent

参考博客:https://blog.csdn.net/yihuajack/article/details/108849156

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值