> For the complete documentation index, see [llms.txt](https://docs.testfirst.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.testfirst.com/unified-test-automation/shell-and-ssh-automation.md).

# Shell & SSH Automation

Execute commands on remote systems and validate infrastructure behavior directly from the TestFirst Editor using natural language test steps.

Commands can be executed independently or combined with other automation types as part of an end-to-end workflow.

**Example**

```gherkin
Scenario: Establish shell session and run a command
  Given shell session to
  """
  {
    "type": "ssh",
    "host": "test.rebex.net",
    "port": 22,
    "basicAuth": {
        "username": "demo",
        "password": "password"
    }
  }
  """
  When I run command "whoami"
  Then command should complete successfully
  And command output should contain "demo"

```

Shell and SSH automation are fully integrated into TestFirst's **Unified Test Automation** approach, allowing command-line validation to work seamlessly with web, mobile, and API automation within the same test case.

**Learn more:**

* [Write Test Cases using Gherkin](/testfirst-editor/writing-test-cases/write-test-cases-using-gherkin.md)
* [Endpoints](/data-repository/data-repository/endpoints.md)
* [Variables](/data-repository/data-repository/variables.md)
* [Environments](/data-repository/data-repository/environments.md)
* [Fragments](/testfirst-editor/fragments.md)
* Cross-Platform Test Automation
