In order to make ssh disks usable, we need to be able to validate a remote host. To do this, add a <knownHosts> xml element for ssh disks to allow the user to specify a location for a file that contains known host keys. Implementation to follow. Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- docs/formatdomain.rst | 8 ++++++++ src/conf/schemas/domaincommon.rng | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index 39d4230ec0..496a8ebfbe 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -3021,6 +3021,14 @@ paravirtualized driver is specified via the ``disk`` element. paused and will be rerun after a successful reconnect. After that time, any delayed requests and all future requests before a successful reconnect will immediately fail. If not set the default QEMU value is 0. + ``knownHosts`` + For storage accessed via the ``ssh`` protocol, this element configures a + path to a file that will be used to verify the remote host. This file + must contain the expected host key for the remote host or the connection + will fail. The location of the file is specified via the ``path`` + attribute. + :since:`Since 9.8.0` + For a "file" or "volume" disk type which represents a cdrom or floppy (the ``device`` attribute), it is possible to define policy what to do with the diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng index cd838a475c..ca43586323 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -2172,6 +2172,14 @@ </element> </define> + <define name="diskSourceNetworkProtocolSSHHostVerify"> + <element name="knownHosts"> + <attribute name="path"> + <ref name="absFilePath"/> + </attribute> + </element> + </define> + <define name="diskSourceNetworkProtocolSSH"> <element name="source"> <interleave> @@ -2187,6 +2195,9 @@ <ref name="encryption"/> </optional> <ref name="diskSourceNetworkProtocolPropsCommon"/> + <optional> + <ref name="diskSourceNetworkProtocolSSHHostVerify"/> + </optional> <optional> <ref name="diskAuth"/> </optional> -- 2.41.0