You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature Request]: Add more options to SSH connexion #50
Could we have the option to use a configuration file like the one in .ssh/config?
I specifically need to use ProxyJump to access certain servers.
Thanks
Proposed Solution
When creating a new data source and using SSH mode, you could add a field named ProxyJump where you would enter the username and hostname of the machine acting as the proxy.
This field only appears if a private key has been configured for the selected SSH connection profile.
Implementing ProxyJump isn't trivial, the underlying ssh2 library doesn't support it natively, which means we'd need to manually implement a two-step connection setup (connect to the proxy first, open a TCP channel, then tunnel the actual SSH session through it). This adds meaningful complexity and potential failure points to the SSH stack, which is why I'm a bit hesitant to prioritize it right now.
I'll keep this issue open to gauge interest. If it gets enough votes/reactions, I'll revisit and plan it properly. If interest stays low, I may close it down the line to keep the backlog clean.
If you'd like to upvote this, feel free to add a 👍 reaction to the issue that helps me prioritize!
Calling the system ssh binary via child_process would indeed make ~/.ssh/config and ProxyJump work “for free”. However, I’m a bit hesitant to go that route because it introduces a second SSH implementation next to ssh2, requires the SSH client to be present in the container, and increases the security and maintenance surface (escaping, injection risks, platform differences, harder debugging). It also gets tricky once we need streaming, file transfers, and consistent behavior across adapters.
For now, the most reliable workaround is still to create the tunnel outside of DBackup (on the Docker host or in a dedicated sidecar container) and then use “direct” mode against the local forwarded port.
Regarding the dedicated remote agent there is already a feature request for this: #40
Maybe read my comment there.
I’ll keep this issue open and label it as “more votes needed”. If more users confirm they need ProxyJump support, I’ll revisit and plan a proper implementation.
Thank you for helping us to make DBackup better :)
Activity
Skyfay commentedon May 5, 2026
Hey @edmc73
Thanks for your feature request.
Implementing ProxyJump isn't trivial, the underlying ssh2 library doesn't support it natively, which means we'd need to manually implement a two-step connection setup (connect to the proxy first, open a TCP channel, then tunnel the actual SSH session through it). This adds meaningful complexity and potential failure points to the SSH stack, which is why I'm a bit hesitant to prioritize it right now.
I'll keep this issue open to gauge interest. If it gets enough votes/reactions, I'll revisit and plan it properly. If interest stays low, I may close it down the line to keep the backlog clean.
If you'd like to upvote this, feel free to add a 👍 reaction to the issue that helps me prioritize!
Hope this is okay :)
edmc73 commentedon May 5, 2026
Thanks for your reply!
Okay, I understand it's not straightforward with the ssh2 library.
I saw that you can directly call the system command via child_process:
This would allow the use of the ~/.ssh/config file.
But this might not be very clean.
An alternative solution for me would be to open SSH tunnels on the Docker host machine or in another Docker container.
Or, ideally, I would have a dbackup agent that installs on the remote machines and communicates via a secure HTTPS API.
Skyfay commentedon May 5, 2026
Thanks for your feedback.
Calling the system ssh binary via
child_processwould indeed make~/.ssh/configand ProxyJump work “for free”. However, I’m a bit hesitant to go that route because it introduces a second SSH implementation next tossh2, requires the SSH client to be present in the container, and increases the security and maintenance surface (escaping, injection risks, platform differences, harder debugging). It also gets tricky once we need streaming, file transfers, and consistent behavior across adapters.For now, the most reliable workaround is still to create the tunnel outside of DBackup (on the Docker host or in a dedicated sidecar container) and then use “direct” mode against the local forwarded port.
Regarding the dedicated remote agent there is already a feature request for this: #40
Maybe read my comment there.
I’ll keep this issue open and label it as “more votes needed”. If more users confirm they need ProxyJump support, I’ll revisit and plan a proper implementation.
Thank you for helping us to make DBackup better :)