On Thu, Mar 21, 2013 at 08:35:29PM +0100, Stefan Hajnoczi wrote: > On Thu, Mar 21, 2013 at 2:38 PM, Richard W.M. Jones <rjo...@redhat.com> wrote: > > From: "Richard W.M. Jones" <rjo...@redhat.com> > > > > qemu-system-x86_64 -drive file=ssh://hostname/some/image > > > > QEMU will ssh into 'hostname' and open '/some/image' which is made > > available as a standard block device. > > > > You can specify a username (ssh://user@host/...) and/or a port number > > (ssh://host:port/...). > > > > Current limitations: > > > > - Authentication must be done without passwords or passphrases, using > > ssh-agent. Other authentication methods are not supported. (*) > > > > - Does not check host key. (*) > > > > - New remote files cannot be created. (*) > > > > - Uses coroutine read/write, instead of true AIO. (libssh2 supports > > non-blocking access, so this could be fixed with some effort). > > > > - Blocks during connection and authentication. > > > > (*) = potentially easy fix > > > > This is implemented using libssh2 on the client side. The server just > > requires a regular ssh daemon with sftp-server support. Most ssh > > daemons on Unix/Linux systems will work out of the box. > > --- > > block/Makefile.objs | 1 + > > block/ssh.c | 514 > > ++++++++++++++++++++++++++++++++++++++++++++++++++++ > > configure | 47 +++++ > > qemu-doc.texi | 28 +++ > > 4 files changed, 590 insertions(+) > > create mode 100644 block/ssh.c > > Just noticed that libcurl supports sftp. > > Did you try enabling sftp support in block/curl.c? I think you just > need to add CURLPROTO_SFTP to #define PROTOCOLS.
Interestingly curl's sftp support is implemented using libssh2. I'll take a look at how easy this will be. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW