Skip to content

Conversation

@dmacvicar
Copy link
Owner

This implementation uses the ssh command line client and therefore respect user settings.

To enable it, you need to use the use_ssh_cmd=1 parameter. Example: qemu+ssh://user@localhost/system?no_verify=1&use_ssh_cmd=1.

It supports the options of the upstream ssh transport.

@dmacvicar dmacvicar added Feedback wanted Important (Wanted) Feature or contribution desired to be had and merged labels Mar 12, 2025
@dmacvicar dmacvicar self-assigned this Mar 12, 2025
Repository owner deleted a comment from coderabbitai bot Mar 12, 2025
@jgooge
Copy link

jgooge commented Mar 15, 2025

TLS connection URI works with this. Fixes #1155

@dmacvicar
Copy link
Owner Author

@memetb @scabala @jgooge anyone of you had the chance to try use_ssh_cmd=1 with this branch?

@jgooge
Copy link

jgooge commented Mar 19, 2025

@dmacvicar not yet, but I can test today.

@memetb
Copy link
Contributor

memetb commented Mar 19, 2025

I will try to make some time this weekend.

@jgooge
Copy link

jgooge commented Mar 20, 2025

Nit: Terraform commands hang indefinitely if the host key check fails instead of exiting with an error:

5/03/19 20:03:51 [DEBUG] Using auto proxy mode with URI: qemu:///system: timestamp=2025-03-19T20:03:51.407-0600
2025-03-19T20:03:51.407-0600 [INFO]  provider.terraform-provider-libvirt: 2025/03/19 20:03:51 [INFO] SSH command dialer connecting to libvirt_host_1 with args: [-T -o ControlPath=none -e none -o BatchMode=yes -- username@libvirt_host_1 sh -c 'which virt-ssh-helper 1>/dev/null 2>&1; if test $? = 0; then virt-ssh-helper "qemu:///system"; else if "nc" -q 2>&1 | grep "requires an argument" >/dev/null 2>&1; then ARG=-q0; else ARG=; fi; "nc" $ARG -U /var/run/libvirt/libvirt-sock; fi']: timestamp=2025-03-19T20:03:51.407-0600
2025-03-19T20:03:51.567-0600 [WARN]  unexpected data: local/local/libvirt:stderr="@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:reGjvY02IwsrYvfeX7w04NuKJsFpM9UOKxGBZ8W6cHs.
Please contact your system administrator.
Add correct host key in /Users/james/.ssh/known_hosts to get rid of this message."
2025-03-19T20:03:51.567-0600 [WARN]  unexpected data: local/local/libvirt:stderr="Offending ECDSA key in /Users/james/.ssh/known_hosts:126"
2025-03-19T20:03:51.567-0600 [WARN]  unexpected data: local/local/libvirt:stderr="Host key for libvirt_host_1 has changed and you have requested strict checking.
Host key verification failed."

Otherwise, use_ssh_cmd=1 reads from the default ssh config properly and therefore works as expected.

@dmacvicar
Copy link
Owner Author

@jgooge should be fixed now.

@jgooge
Copy link

jgooge commented Mar 26, 2025

It is!!

@BohdanTkachenko
Copy link

This fix seems to work for me as well.

Is there anything apart from lint errors prevents merging this? Is there anything I could help with in this PR?

@dmacvicar dmacvicar changed the base branch from main to v0.8 November 8, 2025 00:12
@dmacvicar
Copy link
Owner Author

ℹ️ ℹ️ ℹ️ ℹ️ ℹ️ ℹ️

This contribution is relevant to the legacy version of the provider, which is now in the v0.8 branch of this repository.

Future development is based on a new provider, which is not compatible with this one, nor does share code.

As the new provider solves many issues with the legacy, and to make development in my free time more enjoyable, I have decided to close all PRs for the legacy provider, and to ask to check if the contribution would apply to the new one. This also to encourage trying the new version.

and check the documentation:

You are free to reopen the PR for v0.8, which is targetted now to the v0.8 branch. We may also start a discussion if we can assemble a team of maintainters for the legacy branch. My efforts will go into the new provider.

I ask you to check the new provider and re-evaluate this contribution. 🙏

@dmacvicar dmacvicar closed this Nov 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feedback wanted Important (Wanted) Feature or contribution desired to be had and merged Legacy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants