今天使用git, 在windows上一切正常, 但在Ubuntu上安装好git后,出现如下问题:
sudo ssh -T git@github.com 提示 Permission denied (publickey).
sudo git clone git@github.com:xiaomu/xmscs.git
提示:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
但 ssh -T
git@github.com执行成功
而"git clone git@github.com:xiaomu/xmscs.git" 不在~/ 目录下, 需要 sudo 的写权限
分析知
直接使用 ssh-keygen命令产生的公私钥是存放在当前用户的 ~/.ssh/目录下的;
但使用 sudo 命令时, 却是去 /root/.ssh/ 下查找相应文件, 所以验证失败;
解决方法:
1) 拷贝到相应文件下;
2) 用 sudo ssh-keygen 生成;
本文介绍了一个在Ubuntu上使用Git时遇到的SSH公钥认证失败的问题,并详细解释了问题的原因在于sudo命令导致的公钥路径不同。最后提供了两种解决方案:一种是将公钥复制到正确的路径下;另一种是使用sudo重新生成SSH密钥。
366

被折叠的 条评论
为什么被折叠?



