-----Original Message-----
From: Daniel P. Berrange [mailto:berrange@redhat.com]
Sent: Thursday, April 11, 2013 5:55 PM
To: Wangkai (Kevin,C)
Cc: libvirt-users(a)redhat.com
Subject: Re: [libvirt-users] How can I open a libvirt remote connection
with ssh
On Thu, Apr 11, 2013 at 09:45:18AM +0000, Wangkai (Kevin,C) wrote:
> Hi,
>
> When I use 'virConnectOpenAuth' function to connect to
'192.168.1.102' libvirtd with ssh,
> Code below, the screen print the dialog "root(a)192.168.1.102's
password:" , and only
> After I type the password, the connection can be created.
Libvirt has to spawn an external SSH process for +ssh URIs, so we can't
hook
it up into our auth callbacks.
[Wangkai (Kevin,C)]
Which type of URI can be hooked by auth callback? Qemu+tls?
> How can I connect to libvirtd with ssh automatically? No need to type
the password manually.
You need to setup SSH public keys + SSH agent
[Wangkai (Kevin,C)]
Maybe I will try this later.
>
> char *au[2] = {"root", "xxxx"};
> virConnectAuth auth = {
> credTypes,
> sizeof(credTypes) / sizeof(int),
> virConnCb,/* callback function, actually was not be
called after connect*/
> au /* user and password */
> };
> conn = virConnectOpenAuth("qemu+ssh://192.168.1.102/system", &auth,
0);
virConnectOpenAuth() doesn't do anything useful for '+ssh' URIs.
There is however a alternative 'libssh2' URI that does use the
callbacks. eg qemu+libssh2://hostname/system
This is less tested & potentially buggy, but it might be ok for your
needs
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-
manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-
vnc :|