Embedded terminal loops on password for virtual users

Bug Report Template

Description

Fresh ApisCP install on Rocky Linux with OpenSSH 9.9p1. The embedded terminal (Dev → Terminal) loops on password and never authenticates for virtual users. SSH works fine for the admin account.

No custom configuration changes have been made. I thought it was my custom config previously so i restored from backups, it still didnt work, so ive just reinstalled Apiscp from fresh bootstrapper on another VM and getting the same issue.

Steps to Reproduce

  • Fresh ApisCP install on Rocky Linux
  • Create a hosted account
  • Log into panel as that account
  • Go to Dev → Terminal
  • Enter password — loops indefinitely and eventually shows Permission denied

Expected Behavior

Terminal authenticates successfully, but can log into portal with ‘MyUserName’

Actual Behavior

Loops none stop. See below:

server1 login: ‘MyUserName’#krlit.co.uk
‘MyUserName’#krlit.co.uk@server1.krlit.co.uk’s password:
‘MyUserName’#krlit.co.uk@server1.krlit.co.uk’s password:
‘MyUserName’#krlit.co.uk@server1.krlit.co.uk’s password:
‘MyUserName’#krlit.co.uk@server1.krlit.co.uk: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Session closed.

Environment

ApisCP version:
revision: 5fc4f3b861b34ce1aa8ebf09c7b7b6ecb1a68e29
timestamp: 1780436897
ver_maj: 3
ver_min: 2
ver_patch: 0
ver_pre: 5fc4f3b86
dirty: false
debug: false

Operating System:
5.14.0-687.12.1.el9_8.x86_64

Additional Information

Admin SSH access works fine using putty to ssh, no blocked IP’s. Got Opnsense firewall and apiscp hosted on proxmox vm if that helps.

To further add to this,

ive turned firewall completely off on proxmox to rule out proxmox interferance.

Ive also disabled all IPS and IDS on Opnsense to rule out interferance.

confirmed all services set to auto startup are running.

Looks like changes from openssh-9.9p1-7 introduced breaking changes also seen in openssh-9.9 on EL10.

I’ve backported NSS from EL10 to EL9. dnf clean all ; dnf update -y nss-apnscp should fix it.