ssh - Could not create directory 'c/.ssh'.

Tim Allen tda@ls83.eclipse.co.uk
Thu May 12 20:56:00 GMT 2011


On 12/05/11 01:57, Larry Hall (Cygwin) wrote:
> On 5/11/2011 5:04 PM, Tim Allen wrote:
>> Hi Larry
>>
>> On 11/05/11 15:45, Larry Hall (Cygwin) wrote:
>>> On 5/11/2011 6:44 AM, Tim Allen wrote:
>>>> Hi
>>>>
>>>> I have happily used Cygwin ssh from "DOS" command prompt for many
>>>> years but
>>>> on upgrading to V1.7 get this error message. Further info:
>>>>
>>>> OS: Vista
>>>>
>>>> /etc/passwd line:
>>>> tda:unused_by_nt/2000/xp:1000:513:U-laptop1\tda,S-1-5-21-2414507100-3802266639-3593817948-1000:/home/tda:/bin/bash
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> The interesting thing is that if I open up a second command prompt and
>>>> run an
>>>> arbitrary cygwin command (like "less filename"). ssh successfully finds
>>>> /home/tda/.ssh (but only for so long as that second command is
>>>> running).
>>>>
>>>> I suspect this is something to do with the changes to mounts, but so
>>>> far I've
>>>> been unable to find a fix.
>>>
>>> I think we need more information about what you're actually doing and
>>> what
>>> your configuration is. Please review the problem reporting guidelines
>>> found
>>> here:
>>>
>>>> Problem reports: http://cygwin.com/problems.html
>>>
>>
>> OK. Steps to reproduce:
>>
>> 1. Open command prompt, type:
>> c:\ ssh fleet
>> Could not create directory 'c/.ssh'.
>> The authenticity of host 'fleet (192.168.1.30)' can't be established.
>> RSA key fingerprint is 17:33:a7:32:cd:e1:04:ed:d7:3b:dc:11:c6:da:3c:42.
>> Are you sure you want to continue connecting (yes/no)?
>>
>> 2. Open second command prompt, type:
>> c:\ less main.c
>>
>> 3. Leave less running, return to first prompt and repeat login attempt:
>> c:\ ssh fleet
>> Linux fleet 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686
>> (login OK)
>>
>>
>> cygcheck.out is output of cygcheck -s -v -r with less NOT running.
>> cygcheck1.out is output of cygcheck -s -v -r with less running.
>>
>> The difference below looks relevant:
>>
>> cygcheck.out:
>> Output from c:\cygwin\bin\id.exe
>> UID: 0(tda) GID: 0(root)
>> 0(root) 545(Users)
>
> Indeed. Some thoughts:
>
> 1. Check that you're using Cygwin's ssh.

Yes, double checked.

> 2. Try unsetting "HOME" before running ssh.
C:\>set HOME=
C:\>ssh -v fleet
OpenSSH_5.8p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Connecting to fleet [192.168.1.30] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /.ssh/id_rsa type -1
...
ssh goes on to create /.ssh off of c:\cygwin and fails since no id_rsa 
files.

Copying .ssh/ into c:\cygwin results in this working.

Try:

c:\>set HOME=/home/tda
c:\>ssh -v fleet
OpenSSH_5.8p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Connecting to fleet [192.168.1.30] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /home/tda/.ssh/id_rsa type 1
...
(succeeds, but I need HOME to be "correct" for other apps)

Try returning to Windows default:

c:\>set HOME=c:\Users\tda.DCA
c:\>ssh -v fleet
OpenSSH_5.8p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Connecting to fleet [192.168.1.30] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
Could not create directory 'c/.ssh'.
debug1: identity file c/.ssh/id_rsa type -1


It looks as if ssh isn't going straight to /etc/passwd for home (unless 
another cygwin app is running in another command prompt), and then HOME 
is getting parsed in some strange way.


> 3. Try running from a DOS prompt that is run as administrator.
No change in behaviour.

> 4. Try a different directory.
Not sure what you mean here.

Thanks for your help.

Tim




--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list