git pull和git push总要输密码的原因

来源:互联网 发布:软件开发公司员工守则 编辑:程序博客网 时间:2024/05/03 18:25

使用git pull等命令时,总会被要求输入密码,但是我记得明明已经把主机ssh公钥加入个人配置中:真正的原因是:虽然已经把ssh公钥加入了个人配置,但是如果git clone时使用的是非ssh协议(比如http协议),就会出现这种问题。

解决方案很简单:

      保证git clone时采用ssh协议即可。

      即使用 git clone ssh://...../..../ ,

      不能用这种方式   git clone http://......./..../

补充一下正常配置 ssh 主机公钥的方法:

1、首先确认本机中已经生成ssh公钥

cd ~ls ~/.ssh #即确认用户主目录下是否有.ssh文件夹存在即可。
2、生成ssh公钥,步骤如下

jie@jix:~$ ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/home/jie/.ssh/id_rsa): Created directory '/home/jie/.ssh'.Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/jie/.ssh/id_rsa.Your public key has been saved in /home/jie/.ssh/id_rsa.pub.    #即为公钥The key fingerprint is:SHA256:cQQG/HAXCcy9jkK0sCz23lWAkCjr+F2npfimxlZUhp8 jie@jixThe key's randomart image is:+---[RSA 2048]----+|   ..+.*++oo     ||. . o *.B.+      || o . + O.+..     ||. o o + Eoo      ||o. o o  S+       ||..  . + = .      || . + = B         ||  . B =          ||   o.+.          |+----[SHA256]-----+
在用户主目录下.ssh文件夹下会生成两个文件

jie@jix:~$ cd ~/.ssh/jie@jix:~/.ssh$ lsid_rsa  id_rsa.pub
其中id_rsa.pub即为生成的ssh公钥文件,其中的内容是如下:
jie@jix:~/.ssh$ cat id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDx2uL3m2iYOAh/0IGESYAznWp8/XEss2CnKd/R4wF1GLdK4lDR1E9pmWbQwGeWq1TZlLX+lYvdms/1U9y/YSOjIOLzmRIh5kKW9kS8xN+3g7/JJcw4Ooa2PTd5HSMOAjpp5PKNIDpDWfKrkaZCEwWHhR8CqLl+2rqRhtFqtOtKc7II0zK5LTRTf3QGRNGvfnBTl/CmSIOPdG7eDj3d6tqBNS9C//M+7BHr3zwS7kJdgJyEtnPY69PvkgXybRdZ6hAcWjpUW77iIcan4rObnHLPidOOsren+vd9FVqwO5yDLpBsxa5axcZFbglylYEHRLHewsWC+kPOegQ/4YA2XbOP jie@jix
生成公钥后,将公钥加入个人配置即可,以github为例,说明如何添加ssh公钥

登陆 github: https://github.com/  输入用户名/密码登陆 

下面一图胜千言





1 0
原创粉丝点击