MinGW MSYS ssh error: Could not create directory '/home/<username>/.ssh'

7,407

After some trial and error, I have found the solution(s) to the problem.

Automated solution (for the hasty)

  1. Go to (your-MinGW-installation-directory)\msys\1.0.
    (in my case, which is also the default, that would be C:\MinGW\msys\1.0).
  2. Run msys.bat.

This will start the MinGW Shell, which will create the path
(your-MinGW-installation-directory)\msys\1.0\home\(your-username)
automatically and ssh should now work just fine.


Manual solution (basically create the path required by hand):

  1. Go to (your-MinGW-installation-directory)\msys\1.0.
  2. Create a home directory.
  3. Inside the home directory create a directory with the same name as your username.

So, now the path
(your-MinGW-installation-directory)\msys\1.0\home\(your-username)
is available and ssh should work just fine.


Here is what you should get if everything went well:

C:\Users\myusername>ssh username@host
The authenticity of host 'host (host-ip)' can't be established.
RSA key fingerprint is fingerprint.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host,host-ip' (RSA) to the list of known hosts.

Note
Since the MinGW Shell could create the path needed (without Windows UAC nagging about a thing), I guess this has nothing to do with persmissions. It is probably an omission of the MinGW installation.

Share:
7,407

Related videos on Youtube

import this
Author by

import this

CS postgraduate student. I like Python. Right now, I'm messing with HTML5 game dev. Check my stuff on GitHub.

Updated on September 18, 2022

Comments

  • import this
    import this over 1 year

    I have just installed a fresh MinGW installation on Windows 7 64bit using the Graphical User Interface Installer (the recommended approach) following the instructions given here and keeping the default options (i.e. installation in C:\MinGW) - hopefully without missing any steps or messing things up in any way.

    However, when running the ssh command, I get the following error:

    C:\Users\myusername>ssh username@host
    Could not create directory '/home/myusername/.ssh'.
    The authenticity of host 'host (host-ip)' can't be established.
    RSA key fingerprint is fingerprint.
    Are you sure you want to continue connecting (yes/no)? yes
    Failed to add the host to the list of known hosts (/home/myusername/.ssh/known_hosts).

    So, I basically have to confirm the connection every time.
    Why does this happen and how do I fix it?

  • import this
    import this about 10 years
    Thanks. However, I didn't really know where .ssh was supposed to be until I found my answer (which made adding the rsa key manually redundant).
  • fixer1234
    fixer1234 over 5 years
    Welcome to Super User. This is an old, self-answered question. You may have had a similar symptom, but there's no indication that the OP had included the env. Might you have encountered the symptom simply because you created an error by including it?