Product Tour: Secure Hosting and Per-Site Access

Give someone access to one website, not the whole server. This tour creates sites as a member, grants site-only SSH, and tries to reach another member's resources — which must be refused.

Version: release 81fce3de6 (2026-11-03)Plan: Free (all steps); user groups and roles need ProTest date: 2026-11-03Environment: test lab: one master + five managed Linux nodes (VMs)Material: recording and screenshots pending

Walkthrough

  1. A member account creates a static website and a PHP-FPM website (PHP 8.3) in the member panel, plus an FTP account for one site.
  2. Add a database and a certificate for the site (shown in the recording; not part of the 2026-11-03 test run).
  3. An administrator grants time-limited SSH/SFTP access to that one site. The member logs in with a key and lands inside that site only.
  4. A second member tries to open the first member's sites, files, site tasks, SSH grants, FTP accounts, PHP pools and their logs, backups, domains, website and WAF logs, reverse-proxy and forwarding rules.
  5. Every attempt is refused — with exactly the same answer as for an ID that does not exist, so the refusal does not reveal what exists.
  6. The administrator revokes the SSH grant; the open session is dropped.

Test record

Test record
Product versionbuild 81fce3de6 (Business bundle; every step above uses features that are in Free)
Date2026-11-03, 21:07–21:50 UTC
Environmenttest lab: a master and five managed nodes (KVM and Proxmox VE test hosts); no production systems or customer data
How it was drivenas a user — member panel, WHMCS client area and SFTP. SSH and SQL were used only to check results.
Isolation check script72 checks passed, 0 failed
Cross-member accessrefused in both directions for sites, files, site tasks, SSH grants, FTP, PHP pools and logs, backups, domains, website/WAF logs, reverse proxy and forwarding
Site SSHa 24-hour grant could log in and stayed confined to its site; out-of-range durations were refused; after revoking, the live session was dropped in under 7 seconds
FTP passwordshown once on create / regenerate; never returned again by lists or the API
Manual interventionnone in the steps above; steps that need an administrator’s step-up 2FA code (for example a member’s personal file manager) were not run in this pass
Known issue foundafter regenerating an FTP password, the running FTP service keeps accepting the old one until it is restarted (tracked for the next release)
Limits and prerequisites
  • Isolation separates sites from each other; it is not a promise about what happens if the server’s root account itself is compromised.
  • A site that is moved to a shared Apache (mod_php) instance gives up its per-site separation; per-site instances are the default.
  • Site SSH is key-only and time-limited; permanent access is a separate administrator permission. One active grant per site; the key password is shown once.
  • Restart the site’s FTP service after regenerating its password.

Read more: Per-site SSH, FTP and isolation · Web hosting · Multi-user docs

The sandbox is invite-only and not open yet; there is no public live demo. Please do not send passwords, keys or customer data with a request.

N Nodekeeper

All-in-one Linux server management agent.

Support
[email protected] WhatsApp: +817093066006

© 2026 Nodekeeper. All rights reserved.