I am trying to clone a repository, but I am getting an error
Could not create directory '/c/Windows/system32/config/systemprofile/.ssh'.
The authenticity of host '(host here)' can't be established.
I am running Windows 7 and using tortoiseGit. I have generated a ssh key and added it to server. Any suggestions what am I doing wrong?
Just ran into this issue and wanted to post the solution.
When using a CYGWIN version of SSH you need to create an environment variable called HOME
. If you create HOME
as a System variable and set it to %USERPROFILE%
, and cmd/bash gets launched as system (elevated), your %HOME%
path will be C:\\Windows\\System32
.
An easy fix is to hardcode your userprofile path C:\\Users\\username
to the HOME system variable, however if you have multiple users you will need to create environment variables accordingly.
I was not implicitly launching cmd as SYSTEM however I was having this problem and not sure why. Safest option would be to only have a user environment variable called %USERPROFILE%
and to not use an elevated command prompt.
If you're having this issue then run ECHO %HOME%
and you'll see what the variable is being read as (or if it exists).
I was using SSH to clone a git repo with Windows; however in 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
}
When I was trying to clone a repo as a user I was getting the same .ssh
directory error:
Cloning into 'C:\Git\test-environments'...
Could not create directory '/c/Windows/system32/.ssh'.
Instead of hardcoding the path, I set the Powershell environment variable $env:USERPROFILE
to use HOME
just like @akevit mentioned in his answer.
$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
}
Now it works and uses the known_hosts
and id_rsa
private key in the users $env:USERPROFILE\\.ssh\\
directory.
Cloning into 'C:\Git\test-environments'...
remote: Counting objects: 460, done.
remote: Compressing objects: 100% (457/457), done.
This was with the latest Windows 64bit git install:
git --version
git version 2.6.3.windows.1
Just add HOME variable with C:\\Users\\username value under User Variables
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.