Skip to content
WP Cloud
WP Cloud
    • For Hosts
    • For Agencies
    • For Registrars
    • For Native Hosting
    • Performance
    • Security
    • Real-Time Automated Failover
    • Vertical Scaling and Bursting
    • WordPress Management
    • PanelAlpha Integration: White-Label WordPress Control Panel for Hosts
    • EasyEngine Panel Integration: Visual WordPress Management for WP Cloud
    • FAQs
    • WP Cloud API
    • Partner Portal
    • Documentation
    • New Partner Guide
    • Pressable
    • Convesio
    • Porkbun
    • PanelAlpha
    • Ivapix
    • UNC Greensboro
    • Impressive Hosting
    • Blog
    • Performance Benchmarks
  • Connect With Us
  • Login ↗
Start Here ↗
  • Solutions

    • For Hosts
    • For Agencies
    • For Registrars
    • For Native Hosting
    • Featured Partners

    Features

    • Performance
    • Security
    • Real-Time Automated Failover
    • Vertical Scaling and Bursting
    • WordPress Management

    Integrations

    • PanelAlpha Integration
    • Easy Engine Panel Integration

    Resources

    • FAQs
    • WP Cloud API
    • Partner Portal
    • Documentation
    • New Partner Guide
  • Case Studies
    • PressableA case study about how WP Cloud supports Pressable to power millions of page views daily.
    • Convesio
    • Porkbun
    • PanelAlpha
    • Ivapix
    • UNC Greensboro
    • Newspack
    • Inverse Paradox
  • Insights
    • Podcast
    • BlogWP Cloud blog page with latest news and updates about the platform.
    • Performance Benchmarks
  • Connect With Us
  • Login ↗
Start Here ↗

Browse

    • WP Cloud platform overview
    • Onboard and launch with WP Cloud
    • WP Cloud Partner Portal
    • Get support from WP Cloud
    • WP Cloud glossary
    • Manage and secure API keys
    • Client SSH
    • WP Cloud API quick start
    • Webhooks
    • Run bulk tasks across sites
      • Manage site domains and aliases
      • Domain verification records
      • TLS certificates
      • Manage custom TLS certificates
      • Cloudflare and WP Cloud
    • Clone a site
    • Configure resources, site type, and billing with site meta
    • Delete a site
    • Persistent data
    • Staging sites
    • Migrate a site to WP Cloud
      • SSH and SFTP access models
      • Client SSH
      • User SSH and SFTP access
      • Database credentials
      • phpMyAdmin
      • ABSPATH
      • Default wp-config.php
      • Site constants
      • Configure redirects and headers with custom-redirects.php
      • Akismet and Jetpack
      • Blocked and unsupported plugins
      • PHP lifecycle and supported versions
      • Symlinks and managed software
      • WordPress versions
      • Install Composer and WP-CLI packages
      • Manage platform software with WP-CLI
      • Useful WP-CLI commands
    • Transactional email
    • WordPress multisite
    • Cron scheduling
    • Decoupled and headless WordPress
    • Repair Yoast indexables
      • Page Cache
      • Edge Cache
      • Object Cache
      • Image transformation
      • Offload image sub-sizes
    • Configure lightweight 404s for static files
      • DDoS protection
      • Defensive Mode
      • Rate limiting
      • Network and web application firewalls
      • Bot protection
      • Password protection
      • HTTP and security headers
      • PHP filesystem access permissions
      • Scan a site for malware
    • Backups overview
    • Create an on-demand backup
    • Restore a backup
    • Jetpack backups
      • Error logs
      • Web server logs
    • Metrics
    • Application performance monitoring
    • Automated failover
    • IP ranges
    • Origin and edge servers
    • Server specifications and settings
    • EasyEngine integration
    • PanelAlpha integration
      • White labelling and co-marketing WP Cloud
      • WP Cloud logos
      • Terms of Service & Compliance
      • Prohibited content
      • Copyright infringement and takedown notifications
    • WP Cloud billing
    • WP Cloud for agencies and site networks
    • WP Cloud partner support options
    • Troubleshoot Page and Edge Cache
    • Troubleshoot HTTP 429 and 599 errors
    • WP Cloud HTTP status codes
    • Troubleshoot site performance
    • Cache slow database queries
    • Troubleshoot duplicate core files, wp-config.php, and wp-admin 403 errors
    • Troubleshoot email delivery
    • Troubleshoot PDF thumbnail generation
    • Troubleshoot TLS certificate provisioning
Documentation/Site access/SSH and SFTP/SSH and SFTP access models

SSH and SFTP access models

LAST UPDATED

3 months ago

    WP Cloud provides two ways to connect to a site’s files and command line. Client SSH is for a host partner’s developers, support teams, panels, and automation. User SSH and SFTP access is for a person or service that should have credentials for one site.

    The two services use different hostnames and credentials. A Client SSH key cannot authenticate as a site user, and a site-user credential cannot authenticate through Client SSH.

    Choose the right access model

    Client SSH

    Use Client SSH for partner developers, engineers, support teams, panels, and automation. It uses public-key authentication and provides full shell and SFTP access to the selected partner site:

    <site-id>@client-ssh.atomicsites.netCode language: HTML, XML (xml)

    It is a high-privilege service: a Client SSH credential may be authorized for sites across the partner account, although the site ID in the connection selects the site reached by that session.

    User SSH and SFTP access

    Use User SSH and SFTP access for customers, site developers, and other users whose credential should apply to one site. Site users can use a public key or password. They receive SFTP-only access by default, or a full shell when it is enabled for the site:

    <username>@ssh.atomicsites.netCode language: HTML, XML (xml)

    Site users are created and removed separately for each site.

    How connections reach a site

    WP Cloud sites can move between servers and data centers for maintenance, load balancing, and failover. The stable SSH hostnames route a connection to the site’s current server, so users and integrations do not need to track the origin server’s address.

    WP Cloud reads the connection username to identify the site. For Client SSH, the username is the WP Cloud site ID. For user access, WP Cloud looks up the site assigned to that username. The connection is then routed through an SSH proxy to an isolated container for the selected site.

    This routing also avoids a DNS problem. A hostname that pointed directly to an origin server could remain cached after a site moved, and a public record for every site would disclose infrastructure details that are not needed for access.

    Direct origin connections would also leave partners to track changing server addresses and manage separate authorized_keys files on each server. The proxy keeps authentication and routing at one stable entry point while allowing WP Cloud to move a site without changing the connection details given to users or automation. Key management remains independent of the pool server currently hosting the site.

    After authentication, WP Cloud opens the requested SFTP, shell, or direct-command channel in a Docker container for that connection. The container limits what the session can see and do outside the selected site, protecting other sites on the same server from mistakes or malicious commands.

    Filesystem locations

    An SFTP session begins in the site’s web root:

    /srv/htdocs

    An interactive shell or a command run directly through SSH begins in /home/<site-id>. This directory is the session’s $HOME directory. It is private to SSH sessions: files placed there are not served by the web server and are not available to PHP code handling a web request.

    Put WordPress files and anything the site must serve or load in /srv/htdocs. Use $HOME for shell configuration and private working files. Use /tmp for temporary work that does not need to persist.

    Run a command through SSH

    When a remote command contains quotes of its own, wrap the complete command in double quotes and escape inner double quotes. For example:

    ssh <user>@<host> "wp eval 'echo \"hello world\\n\";'"Code language: HTML, XML (xml)

    Without the outer quotes, part of the command may run in the local shell instead of on the WP Cloud site.

    Session limits

    SSH and SFTP sessions have the following limits:

    • A session can run for up to eight hours.
    • All processes in a session can use up to 1 GB of memory in total.
    • A session can create up to 25 processes. The shell and every command in a pipeline count toward this limit.
    • Background processes stop when the session disconnects, including processes started with nohup.
    • A site can have up to 10 concurrent site-user connections.

    The 10-connection limit is shared by every site-user credential for the site. Ten connections from one username consume the same capacity as one connection from each of 10 usernames. SSH and SFTP connections both count.

    Client SSH connections do not count toward the site’s 10 concurrent site-user connections. They are intended for interactive work and bounded automation, not permanent workers or daemons.

    Process counts can be higher than they first appear. A shell script that runs wp command | grep something | cut -f1 | sort | uniq uses a process for the login shell, the script, wp, and each command in the pipeline. Break large jobs into restartable stages instead of trying to keep one session open indefinitely.

    Check access

    Test a new credential on a non-production site. Confirm that it uses the intended hostname, reaches the expected site, starts in the expected directory, and receives SFTP-only or full-shell access as configured. The Client SSH and User SSH and SFTP access articles include the checks specific to each access model.

    Previous Migrate a site to WP Cloud
    Next User SSH and SFTP access

    Related Guides

    • Client SSH

      Configure and secure Client SSH for partner developers, support teams, panels, and automation that need…

      5 Min.

      READ

    • User SSH and SFTP access

      Create and manage site-scoped SSH and SFTP credentials for a partner’s customers, developers, or support…

      3 Min.

      READ

    On this page

      Contact support

      Contact us with Support issues and questions related to WP Cloud, the WP Cloud Atomic API, API-key IP allow list changes, Station, and more.

      Check the FAQs

      Have questions? Please visit our FAQ to learn more.

      An Automattic venture

      Work With Us

      Press

      Privacy Policy

      © 2021-2026 Automattic Inc.

      Notifications