Unable to connect to Server via SSH in Wappler 7.8X and 7.9X - Downgraded to 7.7.3

Wappler Version : 7.8.X and 7.9.X (Now had to downgrade to 7.7.3)
Operating System : Windows 10
Server Model: Node JS
Database Type: MySQL
Hosting Type: Docker on a Linode remote server

PROBLEM

Unable to publish any Wappler project that uses SSH Key for remote server/app deployment on Wappler versions 7.8X and 7.9.

Only solution was to downgrade to 7.7.3 and problem was resolved. See below for more details.

Expected behaviour

With a properly set up sever/project etc you can access the server terminal over SSH in the Wappler Resources Manager.

You can also test the server connection in Targets and also be able to deploy and rebuild the project all via the Wappler interface

Actual behavior

Any attempt to connect to the server via Wappler (either in resources manager, Targets or via deploy/rebuild options) will fail to connect with error msg like this (server IP address edited)

Server:
error during connect: Get "http://docker.example.com/v1.54/info": command [ssh -l root -o ConnectTimeout=30 -T -- SERVER.IP.ADDRESS docker system dial-stdio] has exited with exit status 255, make sure the URL is valid, and Docker 18.09 or later is installed on the remote host: stderr=Permission denied, please try again.
Permission denied, please try again.
root@SERVER.IP.ADDRESS: Permission denied (publickey,password).

Error Occurred Testing Docker Connection!

NOTES:

This project is a shared project with another Wappler user. We use a Project based SSH Key loaded in to SSH Agent.

He is a MAC OS user and we were on the same version. He DID NOT have the issue and was able to connect.

Problem Solving - Things that worked.

  • The Server can be connected to manually in Powershell using the same SSH Key in the Same project based location
  • Downgrading Wappler to an older version, 7.73 to be exact. I did a delete, clearing of roaming data and fresh install with project files pulled from GIT to local machine and then opened in Wappler - This is what finally fixed the issue, but now i am stuck on 7.7.3 and if Upgrade to 7.9.0 the issue came back right away

Problem Solving - Things that didn’t work

  • Doing a full delete/re-install of Wappler, including removing the roaming/local folders
  • Doing a clean GIT pull of the project to local machine and using fresh Wappler install
  • Updating the the SSH config file to force using the specific project based SSH key
  • Adding in the SSH key again into SSH Agent in Wappler
  • Adding in the SSH key as a local SSH key
  • Coubtless other things attempted, but none worked apart from downgrading to 7.7.3\

How to reproduce

  • As above, at least for me.
  • Windows, Docker, NodeJS. Server is Linode/Akami
  • Try to connect to server with SSH key

Hi,

Just wondering if there is any help or update on this issue?

I have tried to update to the latest version and its still the same issue and i

I’ve had to downgrade again to 7.7.3.

This is actually a really critical problem because I'm working on a joint project with @guptast . He is a Mac/ iOS user and with the exact same project settings he can connect and publish fine.

But because I've had to downgrade to 7.7.3 we can no longer both work on the same project due to a number of core changes between 7.7x and the latest 7.9x which he is running himself.

Just a long shot here, but what is your usage type set to on the target? I know they will react differently with a publish, they will either be development, production or staging.

Maybe that got switched somehow. try to click on a file on the project folder and then right click and choose upload. Does that work? Versus trying to do a publish? Just as a troubleshooting tip?

We had this issue on multiple Projects a few versions back where some random key was generated in all Resources, key_1, which we never created. Can't remember exactly the version this happened in but we had to go through each Project and select from SSH Keys the key we associate with the Resource and add it back to the SSH Agent in Wappler. Restart Wappler and connect to SSH. This seemed to resolve this issue for us. Worth a try. Principle is the same with 7.9.3...

1 Like

Appreciate the comment.

While it first started out as trying to publish on the production target, it quickly became any sort of server connection…so the easiest way to to test was just to ‘connect to terminal’ via SSH in the Resources Manager.

Using the Test Connection button in the target settings was also another way to test.

So regardless of method, it all was the same result.

Thanks for that.

Yes i certainly deleted and re-added the project based key into Wappler a number of times. Even going far as properly clearing out all SSH keys in the SSH Agent in the windows console.

Still didn’t fix things unfortunatly, but i appreciate the tip as you never know what might work :slight_smile:

Just to verify:

  • you can connect to the server when calling ssh server_ip from a regular windows terminal/command prompt?
  • But not from within Wappler - if you open there a terminal in the panel below and enter the same ssh command?

Hi George.

  1. Yes, i can manually connect to the server in windows PowerShell using the same project based SSH token/key that is in the SSH agent.

  2. In Wappler i do not enter a commannd to connect to the terminal, i have tried it 3 different ways and all have failed with the messages from my post.
    a) Connecting in Resource Manager by going Custom → Servers → server_name → Right click, Open SSH Terminal
    b) In Project Settings by going to Targets → Prod target → Test Connection at the top of the window near Docker/Connectio type etc.
    c) By trying to publish or re-build /re-deploy the project to the production server.

All 3 methods in wappler failed.

Could you try to connect in Wappler terminal with same ssh command as in windows terminal? Does that work?

Hi George,

I updated back up to the latest version and tried to run the ssh command in the Wappler Terminal. It still did not work, but i may have found the issue. Seems that Wappler uses a bundled version of ssh.exe instead of the windows system version (not sure if that is by design).

But that seems to be the difference. If i force Wappler to use Windows\System32\OpenSSH\ssh.exe then it can connect to the server in the Wappler terminal.

Here are some results:

In PowerShell:
where.exe ssh
=> C:\Windows\System32\OpenSSH\ssh.exe

ssh -V
=> OpenSSH_for_Windows_9.5p2, LibreSSL 3.8.2

ssh root@172.XXX.XXX.XXX
=> connects successfully

In Wappler terminal:
where ssh
=> C:\Users\Philip\AppData\Local\Wappler\resources\app\Shared\DMXzone\dmxAppCreator\UI\bin\win64\usr\bin\ssh.exe
C:\Windows\System32\OpenSSH\ssh.exe

ssh -V
=> OpenSSH_10.2p1, OpenSSL 3.6.0 1 Oct 2025

ssh root@172.XXX.XXX.XXX
=> prompts for password / fails

"C:\Windows\System32\OpenSSH\ssh.exe" root@172.XXX.XXX.XXX
=> connects successfully

Thanks Philip, that confirms exactly my suspicion.

Will put back the preference of the system SSH instead of the Wappler bundled SSH in the next update.

Thanks George, that will help greatly.

Fixed in Wappler 7.9.4