Repolode
appleboy

appleboy/ssh-action

CI/CDワークフローからSSH経由でリモートサーバー上のコマンドを実行するGitHub Action。

スター
6,225
フォーク
679
未解決の Issue
32
最終コミット
2 か月前

これは何?

SSH for GitHub Actionsを使うと、ワークフローからSSHで1台以上のリモートホストにログインし、シェルコマンドやスクリプトファイルを実行できます。GitHub Actionsのパイプラインの一部として、コードのデプロイやサービスの再起動、サーバーのメンテナンス作業などによく使われます。このActionはGolangで実装されており、drone-sshをベースにしています。

接続オプションとして、パスワード認証と秘密鍵認証、カスタムポート、IPv4/IPv6の選択、ホストフィンガープリントの検証、別途設定するプロキシを介した踏み台ホストへの接続に対応しています。1つのステップで複数のホストを対象にでき、並列または同期的に実行できます。環境変数をリモートスクリプトに渡せるほか、標準出力をステップの出力として取得し、後続のステップで利用できます。

リポジトリには、RSAおよびED25519鍵の生成手順、古いアルゴリズムとのOpenSSH互換性に関する注意事項、コマンドが見つからないシェルでのトラブルシューティングが含まれています。

主な機能

  • 01リモートホスト上で複数のコマンドまたはスクリプトファイルを実行
  • 02パスワードまたは秘密鍵で認証(パスフレーズにも対応)
  • 03複数のホストに並列または同期的にデプロイ
  • 04個別のプロキシ設定を使って踏み台ホスト経由で接続
  • 05環境変数をリモートスクリプトに渡す
  • 06コマンドの出力を取得し、後続のワークフローステップで利用

ユースケース

  • push後に、ビルドしたアプリケーションをVPSまたはオンプレミスサーバーにデプロイする
  • CIからリモートマシン上のサービスを再起動したり、データベースのマイグレーションを実行したりする
  • 1つのワークフローステップで複数のホストに対してメンテナンススクリプトを実行する
  • GitHub-hosted runnerから踏み台ホスト配下のプライベートサーバーに接続する

クイックスタート

  1. 1

    host、username、key、script の入力を指定して、ワークフローに appleboy/ssh-action のステップを追加します

  2. 2

    HOST、USERNAME、KEY、PORT を GitHub Secrets に保存し、ステップで参照します

  3. 3

    リポジトリに push してワークフローを起動し、リモートコマンドを実行します

使う前に知っておきたいこと

  • GitHub Actions のワークフロー内でのみ実行でき、単独のコマンドラインツールとしては使えません。
  • リモートホストは GitHub ランナーからの SSH 接続を受け入れ、鍵またはパスワードによるログインが設定されている必要があります。

トピック

よくある質問

ssh-action とは?
CI/CDワークフローからSSH経由でリモートサーバー上のコマンドを実行するGitHub Action。 SSH for GitHub Actionsを使うと、ワークフローからSSHで1台以上のリモートホストにログインし、シェルコマンドやスクリプトファイルを実行できます。GitHub Actionsのパイプラインの一部として、コードのデプロイやサービスの再起動、サーバーのメンテナンス作業などによく使われます。このActionはGolangで実装されており、drone-sshをベースにしています。
ssh-action は無料で使えますか?ライセンスは?
ssh-action は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ssh-action は今もメンテナンスされていますか?
半年以内に更新あり。ssh-action の最終コミットは 2026年8月16日 です。
ssh-action は何に使えますか?
push後に、ビルドしたアプリケーションをVPSまたはオンプレミスサーバーにデプロイする CIからリモートマシン上のサービスを再起動したり、データベースのマイグレーションを実行したりする 1つのワークフローステップで複数のホストに対してメンテナンススクリプトを実行する GitHub-hosted runnerから踏み台ホスト配下のプライベートサーバーに接続する
ssh-action のインストール方法は?
host、username、key、script の入力を指定して、ワークフローに appleboy/ssh-action のステップを追加します HOST、USERNAME、KEY、PORT を GitHub Secrets に保存し、ステップで参照します リポジトリに push してワークフローを起動し、リモートコマンドを実行します
ssh-action はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/appleboy/ssh-action

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト