概括
出于某种原因,当我以 root 身份登录时,git 命令的工作方式不同。例如,当我以普通用户身份登录时,我可以克隆一个存储库,但我不能将同一个存储库克隆到与 root 相同的目录中。
例子
普通用户:
> git clone git@192.168.1.103:testing
Cloning into 'testing'...
Enter passphrase for key '/home/Matthew/.ssh/id_rsa':
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
(然后我 su 到 root 并删除 repo ...)
根:
# git clone git@192.168.1.103:testing
Cloning into 'testing'...
Password:
Password:
Password:
Permission denied (publickey,keyboard-interactive).
fatal: The remote end hung up unexpectedly
我的故障排除尝试
起初我认为这是与 ssh 相关的某种问题,但从各种可能的方式进行 ssh-ing 似乎都可以正常工作。(我没有更改设置以使您能够通过 ssh 直接以 root 身份登录。)
设置详情
- 我已经为 root 和其他用户生成了 ssh 密钥。
- 我试图将 repos 克隆到的机器正在运行 FreeBSD 9(我刚刚安装了它——试图了解 *nix、托管、系统管理员等)
- git server 是 mac 上的 gitolite(我已经使用了一段时间没有问题)
结论
我有一种感觉,这对于拥有更多 *nix/git 印章的人来说是显而易见的,但到目前为止我还没有弄清楚/在互联网上找到答案。谢谢你的帮助!