Skip to content
[OBSOLETE] Seamlessly run WP-CLI commands on a remote server via SSH
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
composer.json Change php requirement to 5.3.29 instead of php 5.4 Apr 28, 2016
readme.md Note the version of WP-CLI that includes SSH Jul 28, 2016
screenshot1.png Update screenshot Nov 23, 2013
wp-cli-ssh.php
wp-cli.sample.yml

readme.md

DEPRECATED: This feature is now part of WP-CLI itself as of v0.24.0. See wp-cli#2754.

WP-CLI SSH

Seamlessly run WP-CLI commands on a remote server via SSH

Running wp plugin status on production

WP-CLI is an extremely useful tool for managing WordPress installs, but it requires you to invoke it on the same server where WordPress is installed. This means you have to SSH into the server, navigate to the install, and then run the command. It would be much more convenient if you could remain on your local shell and invoke WP-CLI remotely; this is especially the case when using Vagrant.

The WP-CLI SSH script is also TTY-aware, so if you try piping the results of a WP-CLI SSH command to another program, it will return the machine-formatted output (e.g. no colors or table cells).

Configuration

Assuming you have a clone of your WordPress install on your machine, add an ssh section to your wp-cli.yml config file. In this section you define the remote servers which host the other environments for your site, e.g. vagrant, staging, and production. Then you just invoke WP-CLI normally, but supply an additional --host argument with host you want to connect to:

wp ssh plugin status --host=production

You can also provide Bash aliases to supply this argument by default:

alias wp="wp ssh --host=vagrant"
alias wpprod="wp ssh --host=production"

Add an ssh section to your wp-cli.yml/wp-cli.local.yml, as seen in the sample config. You indicate the ssh command templates for each host you want to connect to. The template variable %cmd% is replaced with the full command to run on the server; the %pseudotty% template variable is replaced with -t/-T depending on whether you're on a TTY or piping the command output.

For a step-by-step guide, please refer to the wiki.

Installation

Note that you do not necessarily need WP-CLI installed on your server to use this. If the wp command is not recognized on the server, the script will download the wp-cli.phar file and use that at runtime.

Installing WP-CLI-SSH on your machine can be done either by installation as a Composer package, or by adding a require config to a wp-cli.local.yml.

For global composer installation:

composer global require x-team/wp-cli-ssh dev-master

Alternatives

You can’t perform that action at this time.