Skip to content

Conversation

@michelroegl-brunner
Copy link
Member

Fixes #466

When opening Shell or running Update over SSH with key auth, the client sends a server object built from script data (id, ip, user, auth_type, ssh_key, etc.) but without ssh_key_path (server-side path). The SSH execution layer requires ssh_key_path for key auth, so it threw "SSH key file not found".

This PR adds resolveServerForSSH(server) in the WebSocket handler: when the incoming server has id but key auth without a valid ssh_key_path, we load the full server from the database and use it for the SSH call. All start flows (clone, backup, update, shell, script) now receive the resolved server.

…fixes #466)

- Add resolveServerForSSH() to load full server (including ssh_key_path) from DB
  when WebSocket server has id but key auth without valid ssh_key_path
- Call resolver in handleMessage for all start flows (clone, backup, update,
  shell, script) so Shell and Update over SSH work with key auth
- Extend ServerInfo typedef with auth_type, ssh_key_path for TypeScript
@michelroegl-brunner michelroegl-brunner requested a review from a team as a code owner January 29, 2026 15:00
@michelroegl-brunner michelroegl-brunner merged commit 580986a into main Jan 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"SSH shell execution failed: SSH key file not found" when performing Shell or Update

2 participants