This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On 13/05/11 18:10, Larry Hall (Cygwin) wrote:
On 5/12/2011 4:55 PM, Tim Allen wrote:
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

Sorry, I cannot reproduce this, even with all my Cygwin processes stopped prior to running this:

C:\>set HOME=c:\users\lhall

C:\>ssh -v ds9
OpenSSH_5.8p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to ds9 [192.168.1.190] port 22.
debug1: Connection established.
debug1: identity file /home/lhall/.ssh/id_rsa type 1
...
(succeeds)

But looking back at your '/etc/passwd' entry, you have:

tda:unused_by_nt/2000/xp:1000:513:U-laptop1\tda,S-1-5-21-2414507100-3802266639-3593817948-1000:/home/tda:/bin/bash


When I compare that to the home directory you want (HOME=c:\Users\tda.DCA), I'm wondering if you have a mismatch of usernames. What does 'id' tell you your user is?


With no other Cygwin processes: C:\>id uid=0(tda) gid=0(root) groups=0(root),545(Users)

With the Cygwin bash prompt in another window:
C:\>id
uid=1000(tda) gid=513(None) groups=513(None),545(Users)

I keep coming back to thinking this is the root cause of the problem, but the question is why.

Also, I note that our debug output for 'ssh -v' differs. You may want to
investigate that some too.

Other stray ideas which may or may not be relevant:
BLODA
Downgrade OpenSSH

Just downgrading OpenSSH doesn't help, but bringing in the old dll's too fixes the problem (as expected, since this broke after the upgrade). Can't check precise version at the moment, but it's 2008 vintage.



--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]