我正在尝试克隆存储库,但出现错误
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 密钥并将其添加到服务器。任何建议我做错了什么?
刚刚遇到这个问题,想发布解决方案。
使用 CYGWIN 版本的 SSH 时,您需要创建一个名为HOME
. 如果您创建HOME
为系统变量并将其设置为%USERPROFILE%
,并且 cmd/bash 作为系统启动(提升),您的%HOME%
路径将为C:\Windows\System32
.
一个简单的解决方法是将您的用户配置文件路径硬编码C:\Users\username
到 HOME 系统变量,但是如果您有多个用户,则需要相应地创建环境变量。
我并没有将 cmd 作为 SYSTEM 隐式启动,但是我遇到了这个问题,不知道为什么。最安全的选择是只调用一个用户环境变量%USERPROFILE%
而不使用提升的命令提示符。
如果您遇到此问题,然后运行ECHO %HOME%
,您将看到变量被读取为什么(或者它是否存在)。
我正在使用 SSH 在 Windows 上克隆一个 git repo;但是在 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 环境变量设置为就像@akevit 在他的回答中提到的那样$env:USERPROFILE
使用。HOME
$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
}
现在它可以工作并使用用户目录中的known_hosts
和id_rsa
私钥。$env:USERPROFILE\.ssh\
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
只需在用户变量下添加带有C:\Users\username值的HOME变量