无法查看解决此特定问题的任何帖子,所以这里就是......
我在vps上有一个git repo。 repo跟踪一个网站(包含在public_html
中)以及该网站所需的目录(即private
,tmp
等)。像这样:
drwxr-xr-x 8 someuser someuser 4096 Jan 17 07:00 .git/
drwxrwx--- 5 someuser www-data 4096 Jan 17 07:00 private/
drwxr-x--- 10 someuser www-data 4096 Jan 17 07:00 public_html/
drwxrwx--- 2 someuser www-data 4096 Jan 17 07:00 tmp/
因此,此repo位于Web根目录之上,不可公开访问。在此linux系统上设置了仅具有密钥访问权限的ssh。
我想通过ssh将这个远程git repo克隆到我的本地机器上。怎么样?
我试过git clone ssh://user@ipaddress:22/path/to/repo .
,但我得到了:
Cloning into '.'...
Permission denied (publickey).
fatal: Could not read from remote repository.
我不明白为什么这是因为我的ssh配置文件正确指定了IdentityFile
和Hostname
,而正常的ssh可以正常使用这些设置。
有什么想法吗?谢谢。
答案 0 :(得分:0)
将环境变量GIT_TRACE
设置为0以外的值将使git输出别名的扩展,并委托给其他子程序。
这将允许您查看git用于ssh到远程计算机的确切命令。
无论如何,这里的信息非常明确:
Permission denied (publickey).
这肯定来自ssh,所以如果正常的ssh工作正常,你需要找到你所谓的正常ssh和git正在执行的ssh之间的区别。