Webcore

Users & Access

Developer SSH access

Create SSH keys, connect to a site, and understand Webcore's site-scoped SSH isolation model.

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_sites is the private key. Keep it on your computer and never paste it into Webcore.
  • ~/.ssh/webcore_sites.pub is 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.

NEED HELP?

Still stuck?

Existing customers can open a support ticket. For migrations, architecture or a new project, talk to the Webcore team.