报错
Permission denied (publickey). fatal: Could not read from remote
repository.
前提:
已经配置好了ssh,配置方法是利用ssh-gen来生成密钥,再把公钥(也就是pub)文件粘贴到git仓库设置的ssh配置中。
生成密钥方法:
ssh-keygen -t rsa -C "email@example.com"
解决:
$ ssh-add -l
Could not open a connection to your authentication agent.
可见ssh并没有被添加到ssh-agent的高速缓存中。
通常密钥文件为~/.ssh/id_rsa
使用ssh-add添加该密钥即可:
ssh-add ~/.ssh/id_rsa
但我执行的时候出错
Could not open a connection to your authentication agent
需要执行如下命令,再执行ssh-add即可
w
ssh-agent bash
ssh-add ~/.ssh/id_rsa
语法
ssh-add [-cDdLlXx] [-t life] [file...]ssh-add -s pkcs11ssh-add -e pkcs11
选项
-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁
配置多个rsa
如果我有多个密钥
需要配置一个config文件
# Email:name@Email1.com
# User:lijilan
host example.com
hostname git.example.cn
Port 65095
User lijilan
IdentityFile C:/Users/array/.ssh/jhl
# Email:name@email2.com
# User:camixxx
host github.com
hostname github.com
Port 65095
User camixxx
IdentityFile /home/Fulade/.ssh/github
测试权限:
ssh -T name@Email1.com
ssh -T name@email2.com
使用:
git clone name@email2.com <仓库地址>