我试图推送到git服务器:
git remote add origin ssh://git@git.example.com:9922/test
git push
以下是回复:
git@git.example.com's password:
我输入了ssh密钥的密码,但是失败了。我甚至使用this method检查了密码的正确性。
尝试三次失败后,服务器响应:
Permission denied (publickey,password).
fatal: Could not read from remote repository.
这是否意味着存储库也受密码保护,而不仅仅受ssh保护?或者这只是ssh身份验证不起作用?
答案 0 :(得分:1)
我正在输入我的ssh密钥的密码,但它失败了。我甚至使用这种方法检查了密码的正确性。
这是问题的一部分。它没有提示您输入密钥的密码,它会提示您输入git@git.example.com的密码。换句话说,它会在git.example.com上提示git用户的密码 - 而不是密钥的密码。
这通常表明您设置错误。通常,您的公钥需要添加到某个位置,最终将进入authorized_keys文件(取决于服务的实现方式)。此时,服务将识别您的密钥并要求进行交换,这将导致它提示密钥的密码(假设您尚未添加正在运行的ssh-agent)。
如何才能真正取决于另一端运行的服务。因此,如果没有任何其他信息,我可以提供的唯一建议是检查该服务的文档。
答案 1 :(得分:0)
Git本身并没有使用任何身份验证方法。
检查您的ssh服务器配置,您可以查看远程服务器上的这些文件:
/home/git/.ssh/authorized_keys
/etc/ssh/sshd_config
也许其他人可能取决于您的ssh服务器配置。