Repolode
appleboy

appleboy/ssh-action

GitHub Action для выполнения команд на удалённых серверах по SSH из CI/CD workflow.

Звёзды
6,225
Форки
679
Открытые issues
32
Последний коммит
2 месяца назад

Что это?

SSH for GitHub Actions позволяет workflow подключаться по SSH к одному или нескольким удалённым хостам и выполнять на них shell-команды или файл скрипта. Action часто используют для деплоя кода, перезапуска сервисов и обслуживания серверов в рамках pipeline GitHub Actions. Он написан на Golang и основан на drone-ssh.

Параметры подключения включают аутентификацию по паролю и приватному ключу, выбор порта и протокола IPv4/IPv6, проверку отпечатка хоста и подключение через jump host с отдельной конфигурацией proxy. В рамках одного шага можно обращаться к нескольким хостам — параллельно или синхронно. В удалённый скрипт можно передавать переменные окружения, а стандартный вывод — сохранять как output шага для последующих шагов.

В репозитории есть инструкции по созданию ключей RSA и ED25519, примечания о совместимости с OpenSSH для старых алгоритмов и рекомендации по устранению проблем с поиском команд в некоторых shell.

Ключевые возможности

  • 01Выполнять несколько команд или файл скрипта на удалённых хостах
  • 02Аутентифицироваться по паролю или приватному ключу с поддержкой passphrase
  • 03Выполнять деплой на несколько хостов параллельно или синхронно
  • 04Подключаться через jump host с отдельными настройками proxy
  • 05Передавать переменные окружения удалённому скрипту
  • 06Сохранять вывод команд для использования в последующих шагах workflow

Сценарии использования

  • Деплой собранного приложения на VPS или локальный сервер после push
  • Перезапуск сервисов или запуск миграций базы данных на удалённых машинах из CI
  • Запуск скриптов обслуживания на группе хостов в рамках одного шага workflow
  • Подключение к приватным серверам за bastion host с runner-ов GitHub-hosted

Быстрый старт

  1. 1

    Добавьте шаг appleboy/ssh-action в workflow, указав входные параметры host, username, key и script

  2. 2

    Сохраните HOST, USERNAME, KEY и PORT в GitHub Secrets и используйте их в шаге

  3. 3

    Отправьте изменения в репозиторий с помощью push, чтобы запустить workflow и выполнить удалённые команды

Что важно знать

  • Он запускается только в workflow GitHub Actions и не является самостоятельным инструментом командной строки.
  • Удалённые хосты должны принимать SSH-подключения от GitHub runners; на них также должен быть настроен вход по ключу или паролю.

Темы

Частые вопросы

Что такое ssh-action?
GitHub Action для выполнения команд на удалённых серверах по SSH из CI/CD workflow. SSH for GitHub Actions позволяет workflow подключаться по SSH к одному или нескольким удалённым хостам и выполнять на них shell-команды или файл скрипта. Action часто используют для деплоя кода, перезапуска сервисов и обслуживания серверов в рамках pipeline GitHub Actions. Он написан на Golang и основан на drone-ssh.
ssh-action можно использовать бесплатно? Какая у него лицензия?
ssh-action распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ssh-action всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в ssh-action — 16 авг. 2026 г..
Для чего можно использовать ssh-action?
Деплой собранного приложения на VPS или локальный сервер после push Перезапуск сервисов или запуск миграций базы данных на удалённых машинах из CI Запуск скриптов обслуживания на группе хостов в рамках одного шага workflow Подключение к приватным серверам за bastion host с runner-ов GitHub-hosted
Как установить ssh-action?
Добавьте шаг appleboy/ssh-action в workflow, указав входные параметры host, username, key и script Сохраните HOST, USERNAME, KEY и PORT в GitHub Secrets и используйте их в шаге Отправьте изменения в репозиторий с помощью push, чтобы запустить workflow и выполнить удалённые команды
Где скачать ssh-action?
Исходный код и инструкции по установке — на GitHub: https://github.com/appleboy/ssh-action

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты