我想克隆一个仓库,但我得到一个错误混帐克隆:无法创建目录
Could not create directory '/c/Windows/system32/config/systemprofile/.ssh'.
The authenticity of host '(host here)' can't be established.
我运行Windows 7和使用tortoiseGit。 我已经生成了一个ssh密钥并将其添加到服务器。 有什么建议我做错了什么?
我想克隆一个仓库,但我得到一个错误混帐克隆:无法创建目录
Could not create directory '/c/Windows/system32/config/systemprofile/.ssh'.
The authenticity of host '(host here)' can't be established.
我运行Windows 7和使用tortoiseGit。 我已经生成了一个ssh密钥并将其添加到服务器。 有什么建议我做错了什么?
恰好碰到了这个问题,并想后的解决方案。
当使用SSH的Cygwin的版本,你需要创建一个名为HOME
的环境变量。如果创建HOME
作为一个系统变量,并将其设置为%USERPROFILE%
和cmd/bash中被推出,系统(高架),您%HOME%
道路将C:\Windows\System32
。
一个简单的解决方法是硬编码到HOME系统变量您USERPROFILE路径C:\Users\username
,但是如果你有,你需要创建相应的环境变量多个用户。
我并没有暗示推出CMD作为SYSTEM但是我是有这个问题,不知道为什么。最安全的选择是只有一个用户环境变量称为%USERPROFILE%
和不使用提升的命令提示。
如果您遇到此问题,请运行ECHO %HOME%
,您会看到变量正在被读取的内容(或者是否存在)。
我用SSH克隆与Windows混帐回购协议;但是在PowerShell中。
$configStoreGitDir = "$GitBaseDir\.git"
if (!(Test-Path -Path $configStoreGitDir -PathType Container)) {
Write-Verbose "Unable to locate local git folder at $GitBaseDir - recreating and cloning"
New-Item -Type Directory $GitBaseDir
git clone $GIT_REPO $GitBaseDir
}
当我试图克隆回购,因为我居然也得到了同样的.ssh
目录错误用户:
Cloning into 'C:\Git\test-environments'...
Could not create directory '/c/Windows/system32/.ssh'.
而不是硬编码的路径,我设置PowerShell的环境变量$env:USERPROFILE
使用HOME
就像他在答案中提到的@akevit一样。
$env:HOME = $env:USERPROFILE
$configStoreGitDir = "$GitBaseDir\.git"
if (!(Test-Path -Path $configStoreGitDir -PathType Container)) {
Write-Verbose "Unable to locate local git folder at $GitBaseDir - recreating and cloning"
New-Item -Type Directory $GitBaseDir
git clone $GIT_REPO $GitBaseDir
}
现在它的工作原理和使用中的用户$env:USERPROFILE\.ssh\
目录known_hosts
和id_rsa
私钥。
Cloning into 'C:\Git\test-environments'...
remote: Counting objects: 460, done.
remote: Compressing objects: 100% (457/457), done.
这与最新的Windows 64安装的git:
git --version
git version 2.6.3.windows.1
您正在运行git作为'SYSTEM'用户。为什么? – Chronial
尝试运行一次有高架privs bash并从那里克隆。当ssh要求键入yes来添加主机指纹时,此提示可能是部分内容 –