看不到任何解决此特定问题的帖子,所以这里...
我在 vps 上有一个 git 仓库。 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/
因此,此存储库位于网络根目录之上,不可公开访问。在此 Linux 系统上设置了仅具有 key 访问权限的 ssh。
我想通过 ssh 将这个远程 git 仓库克隆到我的本地机器上。如何?
我试过 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 在这些设置下工作正常。
有什么想法吗?谢谢。
最佳答案
将环境变量 GIT_TRACE
设置为 0 以外的值将使 git 输出别名的扩展,并委托(delegate)给其他子程序。
这将允许您查看 git 用于通过 ssh 连接到您的远程计算机的确切命令。
无论如何,这里的信息非常明确:
权限被拒绝(公钥)。
这肯定来自 ssh,因此如果普通 ssh 工作正常,您需要找出所谓的普通 ssh 与 git 正在执行的 ssh 之间的区别。
关于linux - 如何使用 key 通过 ssh 将私有(private)服务器上的 git repo 克隆到本地计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37275803/