1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-01-11 09:17:52 +03:00
Libvirt native C API and daemons
Go to file
Michal Privoznik de0b6dd63e Introduce OpenSSH authorized key file mgmt APIs
When setting up a new guest or when a management software wants
to allow access to an existing guest the
virDomainSetUserPassword() API can be used, but that might be not
good enough if user want to ssh into the guest. Not only sshd has
to be configured to accept password authentication (which is
usually not the case for root), user have to type in their
password. Using SSH keys is more convenient. Therefore, two new
APIs are introduced:

virDomainAuthorizedSSHKeysGet() which lists authorized keys for
given user, and

virDomainAuthorizedSSHKeysSet() which modifies the authorized
keys file for given user (append, set or remove keys from the
file).

It's worth nothing that while authorized_keys file entries have
some structure (as defined by sshd(8)), expressing that structure
goes beyond libvirt's focus and thus "keys" are nothing but an
opaque string to libvirt.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2020-11-18 16:18:25 +01:00
.ctags.d maint: Add support for .ctags.d 2019-05-31 17:54:28 +02:00
.github github: skip lockdown of old issues/prs 2020-04-07 17:50:54 +01:00
build-aux syntax-check: Don't forbid curly braces around single line condition body 2020-09-15 15:20:23 +02:00
ci ci: Refresh Dockerfiles 2020-10-09 10:14:42 +02:00
docs qemu: support kvm-poll-control performance hint 2020-11-17 14:40:46 +01:00
examples libvirt: support memory failure event 2020-10-23 09:41:52 +02:00
include Introduce OpenSSH authorized key file mgmt APIs 2020-11-18 16:18:25 +01:00
po Translated using Weblate (Swedish) 2020-11-11 15:35:51 +01:00
scripts docs: xsl: Unify stylability of main container element 2020-11-16 14:04:04 +01:00
src Introduce OpenSSH authorized key file mgmt APIs 2020-11-18 16:18:25 +01:00
tests domcaps: Report egl-headless graphics type 2020-11-18 09:42:16 +01:00
tools tools: virsh: Reset error when keepalive registration fails 2020-11-13 11:12:30 +01:00
.color_coded.in gnulib: delete all gnulib integration 2020-02-07 15:03:54 +00:00
.ctags ctags: Generate tags for headers, i.e. function prototypes 2018-09-18 14:21:33 +02:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.editorconfig Add .editorconfig 2019-09-06 12:47:46 +02:00
.gitignore Ignore clangd-related files and folders 2020-08-03 10:57:47 +02:00
.gitlab-ci.yml gitlab: run unit tests in i686 cross build 2020-11-11 11:13:25 +00:00
.gitmodules gnulib: delete all gnulib integration 2020-02-07 15:03:54 +00:00
.gitpublish gitpublish: add a subject prefix 2020-01-16 13:04:11 +00:00
.mailmap mailmap: consolidate my email addresses 2020-10-06 12:05:09 +02:00
.ycm_extra_conf.py.in gnulib: delete all gnulib integration 2020-02-07 15:03:54 +00:00
AUTHORS.rst.in AUTHORS: Remove Emacs file variables 2020-09-02 13:20:17 +02:00
config.h Fix capitalization "CLang" -> "Clang" 2020-11-12 15:01:42 +01:00
configmake.h.in meson: generate configmake.h 2020-08-03 09:26:48 +02:00
CONTRIBUTING.rst meson: adjust our documentation to mention meson instead of autoconf 2020-08-03 09:27:09 +02:00
COPYING maint: follow recommended practice for using LGPL 2013-05-20 14:15:21 -06:00
COPYING.LESSER maint: Remove control characters from LGPL license file 2015-09-25 09:16:24 +02:00
gitdm.config gitdm: add 'ibm' file 2019-10-18 17:32:52 +02:00
libvirt-admin.pc.in Add libvirt-admin library 2015-06-16 13:46:20 +02:00
libvirt-lxc.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt-qemu.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.spec.in rpm: enable wireshark build for RHEL-8 and later 2020-11-17 10:19:05 +00:00
meson_options.txt meson: add tests build option to enable/disable unit tests 2020-10-09 13:44:54 +02:00
meson.build Do not disable incompatible-pointer-types-discards-qualifiers 2020-11-18 11:01:50 +01:00
mingw-libvirt.spec.in spec: Install all schemas 2020-10-08 09:58:44 +02:00
NEWS.rst news: Mention Cooperlake cpu model in v6.4.0 2020-11-18 13:46:05 +01:00
README.rst README: drop Travis CI badge 2020-08-03 15:08:28 +02:00
run.in Prefer https: everywhere where possible 2020-09-01 21:58:46 +02:00

.. image:: https://gitlab.com/libvirt/libvirt/badges/master/pipeline.svg
     :target: https://gitlab.com/libvirt/libvirt/pipelines
     :alt: GitLab CI Build Status
.. image:: https://bestpractices.coreinfrastructure.org/projects/355/badge
     :target: https://bestpractices.coreinfrastructure.org/projects/355
     :alt: CII Best Practices
.. image:: https://translate.fedoraproject.org/widgets/libvirt/-/libvirt/svg-badge.svg
     :target: https://translate.fedoraproject.org/engage/libvirt/
     :alt: Translation status

==============================
Libvirt API for virtualization
==============================

Libvirt provides a portable, long term stable C API for managing the
virtualization technologies provided by many operating systems. It
includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware
vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER
Hypervisor.

For some of these hypervisors, it provides a stateful management
daemon which runs on the virtualization host allowing access to the
API both by non-privileged local users and remote users.

Layered packages provide bindings of the libvirt C API into other
languages including Python, Perl, PHP, Go, Java, OCaml, as well as
mappings into object systems such as GObject, CIM and SNMP.

Further information about the libvirt project can be found on the
website:

https://libvirt.org


License
=======

The libvirt C API is distributed under the terms of GNU Lesser General
Public License, version 2.1 (or later). Some parts of the code that are
not part of the C library may have the more restrictive GNU General
Public License, version 2.0 (or later). See the files ``COPYING.LESSER``
and ``COPYING`` for full license terms & conditions.


Installation
============

Instructions on building and installing libvirt can be found on the website:

https://libvirt.org/compiling.html

Contributing
============

The libvirt project welcomes contributions in many ways. For most components
the best way to contribute is to send patches to the primary development
mailing list. Further guidance on this can be found on the website:

https://libvirt.org/contribute.html


Contact
=======

The libvirt project has two primary mailing lists:

* libvirt-users@redhat.com (**for user discussions**)
* libvir-list@redhat.com (**for development only**)

Further details on contacting the project are available on the website:

https://libvirt.org/contact.html