Developer SSH access
Webcore can provide key-only SSH, SFTP, SCP and rsync access to an individual managed site. Access uses the site's existing wc<site-id> Unix identity and must be enabled at platform, node and site level before a login is accepted.
Developer access is served by a dedicated hardened SSH service on TCP port 2222. The node's normal administrative SSH service remains separate and does not accept wc* site identities.
Create an SSH key on Linux or macOS
Create a dedicated Ed25519 key:
``bash ssh-keygen -t ed25519 -a 100 -f ~/.ssh/webcore_sites -C "webcore-sites" ``
Use a passphrase when practical. The command creates two files:
~/.ssh/webcore_sitesis the private key. Keep it on your computer and never paste it into Webcore.~/.ssh/webcore_sites.pubis the public key. This is the value you add to the site's Access page.
Display the public key with:
``bash cat ~/.ssh/webcore_sites.pub ``
Copy the complete ssh-ed25519 ... line into Site → Access → Add SSH Public Key.
Connect
The Access page shows the current hostname and site username. Developer SSH always uses port 2222. With the example key above, a connection looks like:
``bash ssh -p 2222 -i ~/.ssh/webcore_sites wc1005@example-node ``
SFTP, SCP and rsync use the same account and key. For example:
``bash sftp -P 2222 -i ~/.ssh/webcore_sites wc1005@example-node ``
Security controls
Developer SSH is public-key only. Password and keyboard-interactive authentication, root login, TCP forwarding, Unix-socket forwarding, SSH-agent forwarding, X11 forwarding and tunnels are disabled on the dedicated service.
The dedicated service has conservative authentication and connection limits and is protected by a Webcore Fail2ban jail. Repeated failed authentications are banned on port 2222; the initial ban is one hour and repeat bans increase up to 24 hours. Administrative SSH on port 22 is not included in this developer jail.
Filesystem isolation
Developer SSH sessions run inside a Webcore-managed filesystem namespace. The writable site is exposed as /site. A minimal runtime is mounted read-only so common developer tools can run, but the hosting node filesystem is not exposed.
The session does not mount host paths such as /opt, /var, /run, /etc/webcore or /srv/webcore/sites. Other managed sites are therefore outside the SSH session's filesystem view.
The namespace includes a private process view and temporary filesystem. SSH forwarding, agent forwarding, X11 forwarding and tunnels are disabled.
WP-CLI
Webcore provides a managed wp wrapper inside the session. It automatically uses the PHP CLI version configured for the site and the site's public directory:
``bash wp plugin list ``
Revoking access
Revoking the final public key automatically disables site SSH. Disabling site, node or platform SSH also makes effective access unavailable. Webcore restores the site Unix account to nologin when site SSH is disabled.