git clone - 权限从Windows命令行运行但不从Cygwin运行

时间:2017-08-29 13:14:36

标签: linux windows git permissions cygwin

如果我从Windows 10命令行运行'git clone'到我们办公室的Linux远程仓库,似乎没有权限问题;我向远程服务器提供了一个ssh登录提示,我的密码被接受,克隆运行完成没有问题。

如果我从Cygwin运行相同的'git clone',我甚至都没有得到登录提示,而git命令也失败了:

权限被拒绝(公钥,密码)

问题是,我想我知道问题发生的原因,但不知道该怎么办。

我的名字是约翰史密斯。我的远程Linux服务器存储的凭据是'john.smith'。我的Windows用户文件夹是'C:\ Users \ john.smith'。但是,当我启动Cygwin会话时,提示实际上是'John.Smith@myhostname'。因此,由于Windows不区分大小写,因此git克隆可以正常工作,因为可以找到“已知主机”的Windows副本(无案例问题)。但是,由于Unix用户名(john.smith)和Cygwin用户名(John.Smith)之间不匹配,因此未找到Cygwin中'known-hosts'的副本。无论如何,那是我的理论!

在Cygwin中我需要做些什么来小写我的用户名以使所有内容对齐?

由于

3 个答案:

答案 0 :(得分:1)

您是否可以尝试使用以下格式发出clone命令:john.smith@linuxhost:path/to/repo

答案 1 :(得分:0)

检查git配置的位置     git config --list --show-origin cygwin可能使用/home/john.smith作为home / profile文件夹(目录)。

但这是主要问题ssh配置。 您可以将ssh私钥和主机密钥从windows位置复制到cygwin home .ssh目录。

答案 2 :(得分:0)

检入<install-path>/Cygwin/home/<username>

下的Cygwin安装文件夹

你应该找到:

  • .gitconfig - 编辑此内容以更改您的用户名和电子邮件地址等...
  • .ssh - 这包含您的known-hosts和id_rsa ssh密钥。您可能需要将Windows复制到此处。

您可能还会在Cygwin中发现其他问题,例如自动完成无法正常工作?和其他一些陷阱......?