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@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. > 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 > > 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 :| _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users