Skip to content

Bound SSHTunnel control commands with timeouts and BatchMode - #4354

Merged
r4victor merged 3 commits into
masterfrom
issue_4349_ssh_tunnel_control_timeouts
Oct 8, 2026
Merged

r4victor merged 3 commits into
masterfrom
issue_4349_ssh_tunnel_control_timeouts

Conversation

@r4victor

@r4victor r4victor commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #4349

  • SSHTunnel.check(), close(), acheck(), aclose() and aexec() now time out after SSH_TIMEOUT and kill the ssh process, so a hung control command can no longer block instance processing; aexec() takes a timeout parameter, and gateway updates are bounded at 600s.
  • Control commands run with -F none -o BatchMode=yes and stdin from /dev/null, so if the master breaks off the initial exchange and OpenSSH falls back to a direct connection (which OpenSSH does!), it fails instead of prompting on the server's terminal or picking up the user's ssh config.
  • aclose() now logs the command output instead of the stream object.

@r4victor
r4victor merged commit 9ebdd3f into master Oct 8, 2026
26 checks passed
@r4victor
r4victor deleted the issue_4349_ssh_tunnel_control_timeouts branch October 8, 2026 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: SSHTunnel check/close/exec can hang forever and block instance processing

1 participant