[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 0/2] Implement SSH commands in QEMU GA for Windows
From: |
aidan_leuck |
Subject: |
[PATCH v8 0/2] Implement SSH commands in QEMU GA for Windows |
Date: |
Tue, 23 Apr 2024 09:00:03 -0600 |
From: aidaleuc <aidan_leuck@selinc.com>
This patch aims to implement guest-ssh-add-authorized-keys,
guest-ssh-remove-authorized-keys, and guest-ssh-get-authorized-keys
for Windows. This PR is based on Microsoft's OpenSSH implementation
https://github.com/PowerShell/Win32-OpenSSH. The guest agents
will support Kubevirt and allow guest agent propagation to be used to
dynamically inject SSH keys.
https://kubevirt.io/user-guide/virtual_machines/accessing_virtual_machines/#dynamic-ssh-public-key-injection-via-qemu-guest-agent
Changes since v7
* Fixed missing line ending. Thanks IDE.
Changes since v6
* Fixed issue with file permissions causing public keys to be rejected by the
SSH server. credit (kkostiuk)
Older versions of OpenSSH such as the one shipped with Windows Server 2022 are
more stringent on
file permissions.
* Removed everyone group from create_acl
* Disabled public key file inheritance from the parent folder to control
permissions in a more granular fashion
Changes since v5
* Fixed spurious formatting
Changes since v4
* Moved qapi/error.h to commands-common-ssh.c
* Changed <qga-qapi-types.h> to "qapi/qapi-builtin-types.h"
* Removed stbool.h from commands-common-ssh.h
Changes since v3
* Renamed commands-ssh-core.c/h to commands-common-ssh.c/h
* Fixed styling errors discovered by checkpatch.pl
* Moved some header includes to the commands-common-ssh.h
Changes since v2
* Set indent to 4 spaces
* Moved all comments to C style comments
* Fixed a segfault bug in get_user_info function related to non zeroed memory
when a user did not exist.
* Used g_new0 instead of g_malloc where applicable
* Modified newlines in qapi-schema.json
* Added newlines at the end of all files
* GError functions now use g_autoptr instead of being freed manually.
* Refactored get_ssh_folder to remove goto error statement
* Fixed uninitialized variable pgDataW
* Modified patch order so that the generalization patch is the first patch
* Removed unnecssary ZeroMemory calls
Changes since v1
* Fixed styling errors
* Moved from wcstombs to g_utf functions
* Removed unnecessary if checks on calls to free
* Fixed copyright headers
* Refactored create_acl functions into base function, admin function and user
function
* Removed unused user count function
* Split up refactor of existing code into a separate patch
aidaleuc (2):
Refactor common functions between POSIX and Windows implementation
Implement SSH commands in QEMU GA for Windows
qga/commands-common-ssh.c | 50 +++
qga/commands-common-ssh.h | 10 +
qga/commands-posix-ssh.c | 47 +--
qga/commands-windows-ssh.c | 712 +++++++++++++++++++++++++++++++++++++
qga/commands-windows-ssh.h | 26 ++
qga/meson.build | 6 +-
qga/qapi-schema.json | 17 +-
7 files changed, 811 insertions(+), 57 deletions(-)
create mode 100644 qga/commands-common-ssh.c
create mode 100644 qga/commands-common-ssh.h
create mode 100644 qga/commands-windows-ssh.c
create mode 100644 qga/commands-windows-ssh.h
--
2.34.1
- [PATCH v8 0/2] Implement SSH commands in QEMU GA for Windows,
aidan_leuck <=