问题情况
原因分析
- 客户端与服务端未生成 ssh key
- 客户端与服务端的 ssh key 不匹配
总之都是 ssh key 的问题,只需要生成一次__ssh key__,服务端重新配置一下就可以解决。
使用客户端生成 ssh key
ssh-keygen -t rsa -C "youremail@example.com"
y o u r e m a i l @ e x a m p l e . c o m \color{blue}{youremail@example.com} youremail@example.com改为自己的登陆邮箱
图示中遇到直接回车跳过即可,之后会生成 ssh key。
连接状况
ssh -v git@github.com
检查结果如图所示
“私钥管理者”
运行:
ssh-agent
结果:
SSH_AUTH_SOCK=/tmp/ssh-xxxxxxx/agent.xxxx; export SSH_AUTH_SOCK;
SSH_AGENT_PID=xxxxx; export SSH_AGENT_PID;
echo Agent pid xxxxx;
向 s s h − a g e n t \color{blue}{ssh-agent} ssh−agent中添加私钥
ssh-add ~/.ssh/id_rsa
其结果
IDentity added:/Users/xxxx/.ssh/id_rsa #ssh key文件的路径
配置服务端
打开Github转到settings页面
选择__SSH and GPG keys__,添加 New SSH key
自定义Title,填入key保存
查看 key
cat ~/.ssh/id_rsa.pub
验证 key
ssh -T git@github.com
提示字样
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
问题解决