公钥 私钥
当我们关联好自己的git时,发现每次pull 或 push代码时会让我们重复性输入自己的密码,问题不是出在我们关联的不对,而是对git的公钥和私钥了解并不深,使用命令ssh-keygen,默认生成的公钥名为id_rsa.pub ,私钥名为id_rsa。
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local
解决
终端提示:Enter passphrase for key,表示我们对自己的git使用了私钥,在公钥的基础上又加了一道保障,所以会出现重复性输入密码,切换到文件==cd ~/.ssh==下会有id_rsa,id_rsa.pub,known_hosts三个文件,使用命令rm id_rsa* 删除我们的私钥,cd ... 切换目录,执行==ssh-keygen -t rsa -C "你的邮箱" -b 4096==一路回车键,出现
+---[RSA 2096]----+
|.o ....+ |
|o .. . .=o..o |
|.E. . .. oo . |
|=.o . |
|.* S o o |
|. o . . + o . |
|..o+ = o |
|..=o=.* . |
|..+B=X+o |
+----[SHA256]-----+
然后重新进入cd ~/.ssh该文件,执行cat id_rsa.pub将出来的那一串编码复制粘贴到你的远程git上建立关联,完成。
其他
以上是我开发中遇到的问题,查阅过一部分资料没有得到实际性的解决。如果上述还是没有解决,尝试一下其他人的办法,依旧是在本地执行ssh-a -K
回车输入自己的密码,或者依次执行eval ssh-agent
ssh-add
命令,这些命令只能解决在你当前开机的状态下,不在输入你的git密码,在你再次关闭你的设备、重启之后,依旧会提示你输入,不妨试试上面的解决办法。