mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 03:25:20 +00:00
schema: add keyfile configuration for ssh disks
Authenticating via key file to an ssh server is often preferable to logging in via password. In order to support this functionality add a new <identity> xml element for ssh disks that allows the user to specify a keyfile and username. Example configuration: <disk type='network'> <source protocol='ssh' ...> <identity keyfile='/path/to/id_rsa' username='myusername'/> ... </source> ... </disk> Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
21b377a31b
commit
1e2fa6d524
@ -3020,6 +3020,13 @@ paravirtualized driver is specified via the ``disk`` element.
|
||||
of these attributes is omitted, then that field is assumed to be the
|
||||
default value for the current system. If both ``user`` and ``group``
|
||||
are intended to be default, then the entire element may be omitted.
|
||||
|
||||
When using an ``ssh`` protocol, this element is used to enable
|
||||
authentication via ssh keys. In this configuration, the element has two
|
||||
attributes. The ``username`` attribute specifies the name of the user on
|
||||
the remote server and the ``keyfile`` attribute specifies the path to the
|
||||
keyfile. Note that this only works for ssh keys that are not
|
||||
password-protected.
|
||||
``reconnect``
|
||||
For disk type ``vhostuser`` configures reconnect timeout if the connection
|
||||
is lost. This is set with the two mandatory attributes ``enabled`` and
|
||||
|
@ -2181,6 +2181,19 @@
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name="diskSourceNetworkProtocolSSHKeyDef">
|
||||
<element name="identity">
|
||||
<interleave>
|
||||
<attribute name="username">
|
||||
<ref name="genericName"/>
|
||||
</attribute>
|
||||
<attribute name="keyfile">
|
||||
<ref name="absFilePath"/>
|
||||
</attribute>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name="diskSourceNetworkProtocolSSH">
|
||||
<element name="source">
|
||||
<interleave>
|
||||
@ -2200,11 +2213,15 @@
|
||||
<ref name="diskSourceNetworkProtocolSSHHostVerify"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="diskAuth"/>
|
||||
<choice>
|
||||
<ref name="diskSourceNetworkProtocolSSHKeyDef"/>
|
||||
<ref name="diskAuth"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name="diskSourceNetworkProtocolSimple">
|
||||
<element name="source">
|
||||
<interleave>
|
||||
|
Loading…
Reference in New Issue
Block a user