This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: cygport improvements: upload, fish, src_prep_fini_hook
- From: Andrew Schulman <schulman dot andrew at epa dot gov>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 09 Dec 2014 06:58:21 -0500
- Subject: Re: cygport improvements: upload, fish, src_prep_fini_hook
- Authentication-results: sourceware.org; auth=none
- References: <544D0CC5 dot 9030600 at cygwin dot com> <nu2s4al5tup14gfvge083ri8u9j6t62c7m at 4ax dot com> <nu2s4al5tup14gfvge083ri8u9j6t62c7m-e09XROE/p8c at public dot gmane dot org> <547F5B88 dot 3020403 at cygwin dot com> <547F5B88 dot 3020403-rDBXBDvO6BXQT0dZR+AlfA at public dot gmane dot org> <140v7adq6s0i2u93jdsjqt22j0k87lfnn2 at 4ax dot com> <mnkc8ah5ouplguvl724dhivso221nmo1bq at 4ax dot com> <mnkc8ah5ouplguvl724dhivso221nmo1bq-e09XROE/p8c at public dot gmane dot org> <20141209104145 dot GC3810 at calimero dot vinschen dot de>
> On Dec 8 20:40, Andrew Schulman wrote:
> > > > Here's what I have at the moment based on your branch as of a few weeks
> > > > ago. However, with password-protected SSH keys, the password prompt
> > > > isn't handled properly. Any ideas?
> > >
> > > Re password prompts: I see the problem. It's because I echo the lftp
> > > script to stdout, and pipe it into lftp -f /dev/stdin. So stdin is
> > > unavailable for the password prompt.
> > >
> > > I think using process substitution instead will be an easy fix for this.
> >
> > OK, I looked into this. Unfortunately lftp seems not to support using
> > encrypted SSH keys for sftp.
> >
> > First I freed up stdin for lftp to use, by using process substitution
> > instead of -f/dev/stdin, as I said before. But it still doesn't work.
> >
> > So I tried it with lftp from the command line. With an unencrypted key it
> > works, but with an encrypted key you get the following:
> >
> > $ lftp sftp://cygwin:@cygwin.com
> > lftp cygwin-rDBXBDvO6BXQT0dZR+AlfA@public.gmane.org:~> set sftp:connect-program ssh -a -x -i /path/to/encrypted/key
> > lftp cygwin-rDBXBDvO6BXQT0dZR+AlfA@public.gmane.org:~> ls
> > `.' Enter passphrase for key '/home/andrex/.ssh/keys/home': XXXX
> >
> > and the connection fails. It seems that lftp intercepts the password
> > prompt.
OK, my mistake. lftp author reminded me that this is only happening
because I specified an empty passphrase in the connect string: colon after
cygwin in "sftp://cygwin:@cygwin.com".
So I'll take another look and fix this.
> I may be missing something here, but given that this is all scripted
> anyway, why not use sftp directly?
I did code an alternate implementation using sftp, but it had some
disadvantages. I think the main one was that sftp doesn't have a recursive
delete or mirror, so I had to write a bunch of kludgy rm's.
Both ways work, with minor disadvantages.
Andrew