使用命令ssh-keygen生成ssh 密钥的时候,会在Enter file in which to save the key ("当前所在路径"): “给文件起个名字”,随便起一个名字,这样问题就出来了,你起的这个名字没有和ssh内设定的名字保持一致,所以使用命令ssh -T git@github.com的时候报出Permission denied (publickey).这个错误.
当出现这个问题时,有两个比较简单的解决办法:
1)给文件起名字的时候使用"id_rsa"这个名字
2)如果非要自己取名子,那就使用
ssh-add ~/.ssh/你的名字
如果执行ssh-add命令时报Could not open a connection to your authentication agent.错误,则先执行下面命令:
eval ssh-agent -s
再执行ssh-add命令。
补充:(bash命令下:$ eval ssh-agent -s
tcsh命令模式下:$ eval ssh-agent -c
)
将自己起的名字加入到ssh中
这样再使用ssh -T git@github.com
就会看到你想要的效果了。
注:在生成密钥的时候,请在 “/.ssh/”目录下操作。或者生成后把文件移动到“/.ssh/”目录下。