Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. GitHub Actions
  3. Copy files and artifacts via SSH

Copy files and artifacts via SSH

MITShellv1.0.0

A GitHub Action for securely copying files and artifacts to remote servers via SSH.

Visit WebsiteGitHubGitHub
1.6k stars177 forks0 contributors

What is Copy files and artifacts via SSH?

SCP Action is a GitHub Action that copies files and artifacts from GitHub Actions workflows to remote servers via SSH. It solves the problem of automating secure file deployments in CI/CD pipelines without requiring external tools or complex scripting. The action handles authentication, multi-server transfers, and cross-platform path conversions.

Target Audience

Developers and DevOps engineers using GitHub Actions for CI/CD who need to deploy build artifacts, static assets, or configuration files to remote servers (Linux or Windows) as part of their automation workflows.

Value Proposition

Developers choose SCP Action for its native GitHub Actions integration, robust SSH support with proxy/jump host capabilities, and extensive configuration options. It eliminates the need for custom SSH scripts in workflows while providing security best practices and reliable file transfers.

Overview

GitHub Action that copy files and artifacts via SSH.

Use Cases

Best For

  • Deploying static websites or applications to remote servers from GitHub Actions
  • Automating configuration file updates across multiple servers
  • Copying build artifacts to staging or production environments
  • Synchronizing files to Windows servers via SSH
  • Implementing incremental deployments with changed-files detection
  • Setting up multi-server deployment pipelines with proxy/jump hosts

Not Ideal For

  • Projects requiring real-time file synchronization or continuous deployment triggers outside CI/CD runs
  • Teams using cloud object storage (e.g., AWS S3, Google Cloud Storage) as their primary deployment target
  • Environments where SSH access is restricted or firewalled, necessitating alternative protocols like HTTP/S

Pros & Cons

Pros

Multi-Server Deployment

Supports simultaneous transfers to multiple remote hosts using a comma-separated list, streamlining deployment across server fleets without additional scripting.

Comprehensive SSH Support

Includes full proxy/jump host capabilities and both key and password authentication, handling complex network configurations reliably, as detailed in the proxy settings section.

Cross-Platform Path Handling

Automatically converts paths for Windows servers and provides specific settings like `tar_dereference` for symlink support, reducing manual adjustments in mixed environments.

CI/CD Ecosystem Integration

Seamlessly integrates with GitHub Actions artifacts and changed-files detection actions for efficient, incremental transfers, as shown in the usage examples.

Cons

Linux Runner Limitation

Only operates on Linux Docker containers, preventing native use with macOS or Windows GitHub Actions runners, which restricts flexibility in heterogeneous CI/CD setups.

Windows Deployment Hurdles

Requires additional setup on Windows servers, such as installing Git Bash and manual path adjustments, increasing configuration complexity and potential for errors.

SSH Key Format Sensitivity

Authentication failures are common due to key formatting issues, as noted in the FAQ, requiring careful PEM format management and troubleshooting in secrets.

Frequently Asked Questions

Quick Stats

Stars1,566
Forks177
Contributors0
Open Issues83
Last commit6 days ago
CreatedSince 2019

Tags

#deployment#devops#github-action#file-transfer#ci-cd#scp#self-hosted#automation#ssh#github-actions

Built With

D
Docker

Links & Resources

Website

Included in

GitHub Actions27.6k
Auto-fetched 18 hours ago

Related Projects

Executing remote ssh commandsExecuting remote ssh commands

GitHub Actions for executing remote ssh commands.

Stars6,155
Forks674
Last commit6 days ago
FTP Deploy Action, Deploys a GitHub project to a FTP server using GitHub actionsFTP Deploy Action, Deploys a GitHub project to a FTP server using GitHub actions

Deploys a GitHub project to a FTP server using GitHub actions

Stars5,138
Forks435
Last commit3 months ago
Publish a Python distribution package to PyPIPublish a Python distribution package to PyPI

The blessed :octocat: GitHub Action, for publishing your :package: distribution files to PyPI, the tokenless way: https://github.com/marketplace/actions/pypi-publish

Stars1,175
Forks118
Last commit5 days ago
GitHub Action for GoReleaser, a release automation tool for Go projectsGitHub Action for GoReleaser, a release automation tool for Go projects

GitHub Action for GoReleaser

Stars1,019
Forks100
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub