ssh链接git服务器,解决push pull要求输入密码问题

ssh链接git服务器,解决push pull要求输入密码问题,第1张

ssh链接git服务器,解决Agent admitted failure to sign using,错误信息如下:

Agent admitted failure to sign using the key.

git@git.oschina.net 's password:

Permission denied, please try again.

git@git.oschina.net 's password:

Permission denied, please try again.

git@git.oschina.net 's password:

Permission denied (publickey,password,keyboard-interactive).

fatal: Could not read from remote repository.

原因是ssh-agent服务没把新产生的/home/you/.ssh/id_rsa 包含进去,解决方法如下:

eval "$(ssh-agent -s)"

ssh-add

如果你的私钥文件已经改名,不是默认的id_rsa,请输入你的正确的私钥文件路径:

eval "$(ssh-agent -s)"

ssh-add ~/.ssh/my_other_key

git支持https和git两种传输协议,github分享链接时会有两种协议可选,如果使用https协议,每次pull, push都会提示要输入密码,如果使用git协议,然后使用ssh密钥,这样免去每次都输密码的麻烦。

Git服务器都会选择使用SSH公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。

1.生成密钥对

如果没有对应的文件,可以用ssh-keygen来创建

然后,会提示你输入密码,如下:

设置好之后,如下

到此为止,你本地的密钥对就生成了。

2.将SSH Key添加到ssh-agent

可以查看ssh-agent中的密钥,检测是否添加成功

还可以从ssh-agent中删除多余的密钥

3.添加公钥到你的远程仓库(如github)

4 验证下新增的key是否有生效

如果看到如下

恭喜你,你的设置已经成功了

git协作开发,不是以用户名和密码的方式.

根据git所使用的协议,如果是ssh 那么方式就应该为 git@youdomain.com:xxxxxx.git的方式,如果是这样,那么配置了公钥那么就可以直接访问了,不需要用户名和密码,如果是http/https的方式,那么验证的就是你登陆的用户名和密码,著名的gitlab 可以同时使用这两种方式,不需要你亲自去配置 ,详见 :http://about.gitlab.com

sharyuke


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/218622.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存