SSH & SFTP Deployments

# Deploy Over SSH  
Without the SSH

Connect your Git repository to any SSH-accessible server — VPS, dedicated, or shared hosting — and let DeployHQ handle the upload, key management, and remote commands. No more manual sessions, no more forgotten files.

[Start Free Trial](/signup?cta=Start+Free+Trial)

SSH key authentication

SFTP, SSH & FTPS supported

Free plan available

Last updated on 16th May 2026

deploy@production

`$
Connecting to production.example.com:22``Authenticated via SSH key (RSA 4096)``$
Uploading 14 changed files over SFTP…``✓ /var/www/app — synced``$
Running post-deploy commands…``✓ systemctl reload app — done`

SSH deployment uses the Secure Shell protocol to upload code and run commands on a remote server over an encrypted connection. DeployHQ automates the entire workflow — authenticating with SSH keys, transferring only what changed via SFTP, and triggering post-deploy commands — so you never have to open a terminal to ship.

## How SSH Deployment Works

Add a server once. Deploy to it on every push.

1

 ![Server icon](/assets/icons/server-3dea9382c13b5eb86283b34dac5391d37d7daab491d2ab3b3f48fb6c03df33de.svg)

### Add Your Server

Enter the hostname, port, and deployment path. Works with any SSH-reachable server — VPS, dedicated, or shared hosting.

2

 ![Shield icon](/assets/icons/shield-check-a41a13fb7948321ec9c27cc6c623578153c9caa1fc75851bcd93afbe7dbe79f1.svg)

### Authorise the Key

Drop DeployHQ's public key into your server's authorized\_keys, or fall back to a password. Per-project keys keep blast radius tight.

3

 ![Folder icon](/assets/icons/folder-5a1d3bb6e916338b24a45559a43b4bcb9317612584e508032c4648d970e77511.svg)

### Push to Git

On every push, DeployHQ diffs the commits and uploads only the changed files over SFTP. No full re-uploads, no rsync wrangling.

4

 ![Check icon](/assets/icons/check-a44bf1dbe680e7b7d11c6ba4f27febd17fde07a1f0bab9f93608e0e1d9acee9b.svg)

### Run Remote Commands

Reload services, restart workers, run migrations — all over the same SSH connection, with full logs in your dashboard.

## Works With Any SSH-Reachable Host

If you can SSH or SFTP into it, DeployHQ can deploy to it. Provider-agnostic by design.

[

### VPS & Dedicated Servers

DigitalOcean, Hetzner, Linode, AWS EC2, or any box you can SSH into. Full root, full control, automated deploys.

Deploy to a VPS →](/vps)[

### Shared Hosting

cPanel, Plesk, and other shared hosts that expose SFTP. Automated deployments without a single SSH session.

Deploy to shared hosting →](/shared-hosting)

## Why Deploy via DeployHQ Over Raw SSH?

Everything the protocol gives you, with none of the manual overhead.

 ![Shield icon](/assets/icons/shield-check-a41a13fb7948321ec9c27cc6c623578153c9caa1fc75851bcd93afbe7dbe79f1.svg)

### Key-Based Auth, Per Project

Each project gets its own SSH key pair. Rotate, revoke, or audit access without touching every server. Passwords supported as a fallback.

 ![Server icon](/assets/icons/server-3dea9382c13b5eb86283b34dac5391d37d7daab491d2ab3b3f48fb6c03df33de.svg)

### Only Changed Files

DeployHQ diffs commits and uploads only what changed over SFTP. Fast deploys, low bandwidth, no surprise overwrites.

 ![Folder icon](/assets/icons/folder-5a1d3bb6e916338b24a45559a43b4bcb9317612584e508032c4648d970e77511.svg)

### Remote Command Execution

Run any shell command on the target server before, during, or after a deploy — migrations, cache clears, service reloads — with output streamed to your dashboard.

 ![Check icon](/assets/icons/check-a44bf1dbe680e7b7d11c6ba4f27febd17fde07a1f0bab9f93608e0e1d9acee9b.svg)

### One-Click Rollback

Every deploy is tracked. Roll back to any previous revision with a single click — no SSH-ing in under pressure to fix things.

Getting Started

## Set up your first SSH deployment in under five minutes

 ![Check mark](/assets/icons/tick-01ba7f4740d492a18fbdf4424bf7446c87ddfccbc0157214ad536b11512e914d.svg)

### Create a project

Connect your GitHub, GitLab, or Bitbucket repository to DeployHQ.

 ![Check mark](/assets/icons/tick-01ba7f4740d492a18fbdf4424bf7446c87ddfccbc0157214ad536b11512e914d.svg)

### Add an SSH or SFTP server

Enter hostname, port, username, and deployment path. Copy the project's public key into authorized\_keys.

 ![Check mark](/assets/icons/tick-01ba7f4740d492a18fbdf4424bf7446c87ddfccbc0157214ad536b11512e914d.svg)

### Push and watch it deploy

Every push triggers a deploy. Logs, rollbacks, and remote commands live in your dashboard.

[Read the documentation →](https://www.deployhq.com/support/servers)

SSH DEPLOYMENT FLOWDeployHQ(git → server)SSHSFTPSSHVPS / Dedicatedkey-based authShared HostingcPanel / PleskBehind Firewallvia AgentOne workflow. Any SSH-reachable destination.

## Frequently Asked Questions

### Which protocols does DeployHQ support for SSH-based deployment?

DeployHQ supports SSH, SFTP, and FTPS for code uploads, plus a separate SSH connection for running remote commands. You can mix protocols across servers in the same project — for example, SFTP to a shared host and SSH commands on a VPS.

### Do I need to give DeployHQ my SSH password?

No. Every project in DeployHQ generates its own public/private SSH key pair. You add the public key to your server's authorized\_keys file, and DeployHQ never sees or stores your password. Password auth is supported as a fallback for hosts that don't allow key auth.

### Can I run commands on the server during a deploy?

Yes. You can configure commands that run before upload, after upload, or on a specific server. Output is streamed back to your dashboard so you can see exactly what happened — handy for migrations, cache clears, or service reloads.

### What if my server is behind a firewall?

Use the [DeployHQ Agent](/features/deploy-behind-firewalls) to deploy to servers that don't accept inbound connections from the public internet. The agent opens a secure outbound tunnel and lets DeployHQ reach private servers via SSH or SFTP without changing firewall rules.

### Does it work with shared hosting that only offers SFTP?

Yes. Most shared hosts only expose SFTP rather than full SSH, and DeployHQ deploys to them just fine. See the [shared hosting guide](/shared-hosting) for details — you'll lose the ability to run remote shell commands, but uploads, diffs, and rollbacks all work the same way.

## Stop opening terminals to ship

Connect a Git repo, add an SSH server, and never touch ssh manually again.

[Start Free Trial](/signup?cta=Start+Free+Trial)

10-day free trial • No setup fees • Cancel anytime

## Explore More Features

Discover all the tools that make DeployHQ the easiest way to deploy your code.

[

### Zero Downtime Deployments
→](/features/zero-downtime-deployments)[

### One-Click Rollback
→](/features/one-click-rollback)[

### Turbo Deployments
→](/features/turbo-deployments)[

### Build Pipelines
→](/features/build-pipelines)[

### Build Cache
→](/features/build-cache)[

### Scheduled Deployments
→](/features/scheduled-deployments)[

### Deployment Availability
→](/features/deployment-availability)[

### Docker Builds
→](/features/docker-builds)[

### Deployment Checks
→](/features/deployment-checks)[

### Deployment Targets
→](/features/deployment-targets)[

### Automatic Deployment
→](/features/automatic-deployments)[

### Deployment Templates
→](/features/deployment-templates)[

### Deploy Behind Firewalls
→](/features/deploy-behind-firewalls)[

### SSH Deployment
→](/features/ssh-deployment)[

### Deployment Zones
→](/features/deployment-zones)[

### Team & Permissions
→](/features/team-permissions)[

### Single Sign-On
→](/features/sso)[

### Custom Actions
→](/features/custom-actions)[

### Server Management
→](/features/server-management)[

### CLI & Agents
→](/agents)[

### Powerful Integrations
→](/features/integrations)

## Get started today for just $9/month

That's unlimited deployments and 3 projects.

[Start your free 10 day trial](/signup?cta=Start+your+free+10+day+trial)
