无法从私有服务器克隆git repo

时间:2017-03-28 19:01:58

标签: git amazon-web-services ssh access-rights

我正在开发一个git基础架构测试目的。我试图测试的一件事是从AWS Ubuntu服务器克隆一个简单的git repo。是流动的类型

git clone ubuntu@numbers.us-west-2.compute.amazonaws.com:/srv/git/Test_Git.git

我得到以下回复

  

克隆到'Test_Git'...
  许可被拒绝(公钥)   致命:无法从远程存储库中读取   请确保您拥有正确的访问权限   存储库存在。

1 个答案:

答案 0 :(得分:2)

如错误所示,您的ssh访问权限已被拒绝。

一些可能的原因:

用户名错误

您以用户ubuntu登录。验证这是您应该使用的用户名。

SSH密钥错误

验证是否在远程用户上配置了用于登录的SSH密钥。它通常位于该用户的$HOME/.ssh/authorized_keys文件中。

authorized_keys的权限错误

验证服务器SSH文件的权限是否正确。除所有者外,authorized_keys文件不得由任何人写入。对于导致该文件的路径中的每个目录也是如此。例如,这可能意味着您需要检查这些路径上的权限(这可能会因系统和您使用的用户而异)。

/
/home/
/home/ubuntu/
/home/ubuntu/.ssh/
/home/ubuntu/.ssh/authorized_keys

没有git存储库的读取权限

您登录的用户必须具有git存储库的读取权限才能克隆其副本。在这种情况下,路径是

/srv/git/Test_Git.git/

该路径及其下的所有内容必须是您以。[/ p>身份登录]的用户可读

理想情况下,该用户应拥有整个目录及其所有内容。因为当你(大概)想要将更改推回服务器时你会需要它。

查看日志

如果以上都不能解决问题,假设您可以登录服务器,请检查系统日志中是否有SSH错误消息。

在Linux上查找SSH消息最常见的地方是

  • /var/log/messages
  • /var/log/secure

使用ssh调试模式

您也可以从客户端获取调试信息,但这只会向您显示客户端正在执行的操作。如果您想确定您尝试使用哪个密钥进行登录,那么您就可以找到它。

ssh -v ubuntu@numbers.us-west-2.compute.amazonaws.com