Skip to content


Connect to a webserver via SSH, and optionally run a shell command.


  • drush @mysite ssh. Open an interactive shell on @mysite's server.
  • drush @prod ssh "ls /tmp". Run ls /tmp on @prod site.
  • drush @prod ssh "git pull". Run git pull on the Drupal root directory on the @prod site.
  • drush ssh "git pull". Run git pull on the local Drupal root directory.


  • [code].... Code which should run at remote host.


  • --cd=CD. Directory to change to. Defaults to Drupal root.
  • --ssh-options=SSH-OPTIONS. A string of extra options that will be passed to the ssh command (e.g. -p 100)
  • --tty. Create a tty (e.g. to run an interactive program).

Global Options

  • -v|vv|vvv, --verbose. Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
  • -y, --yes. Auto-accept the default for all user prompts. Equivalent to --no-interaction.
  • -l, --uri=URI. A base URL for building links and selecting a multi-site. Defaults to https://default.
  • To see all global options, run drush topic and pick the first choice.



  • ssh
  • site-ssh


  • An argument or option with square brackets is optional.
  • Any default value is listed at end of arg/option description.
  • An ellipsis indicates that an argument accepts multiple values separated by a space.