0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub ActionsでSSH接続(ECDSA)をする方法

Last updated at Posted at 2025-02-19

appleboy/ssh-actionを使用したSSH接続

GitHub Actions上でSSH接続するためにappleboy/ssh-actionを利用します。

以下のワークフローを作成し、リモートサーバーにSSH接続して git pull を実行します。

name: Deploy to Remote Server

on:
  push:
    branches:
      - main # デプロイをトリガーするブランチ

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Execute remote SSH commands
        uses: appleboy/ssh-action@v1.2.0
        with:
          host: ${{ secrets.REMOTE_SERVER_HOST }}
          username: ${{ secrets.SSH_USER }}
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          port: 22
          script: |
            cd /path/to/your/project
            git pull origin main

GitHub Secretsの設定

SSH接続に必要な情報をGitHubリポジトリのSecretsに登録します。

  1. GitHubでリポジトリのSettingsに移動
  2. [Security][Secrets and variables][Actions] を選択
  3. [New repository secret] をクリックし、以下のシークレットを追加
シークレット名 内容
REMOTE_SERVER_HOST リモートサーバーのホスト名またはIPアドレス
SSH_USER SSH接続用のユーザー名
SSH_PRIVATE_KEY ECDSA秘密鍵の内容

SSH_PRIVATE_KEY には、ローカルで作成したECDSA秘密鍵の内容を貼り付けます。
この情報はGitHub Actions内でのみ使用され、ログには出力されません。

注意点

appleboy/ssh-actionパスフレーズ付きのECDSA秘密鍵には対応していません
もしパスフレーズ付きの鍵を使用すると、認証エラーが発生します。

対策として、パスフレーズなしのECDSA鍵 を作成して使用してください。
またshimataroなどはECDSAに対応していないので注意が必要です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?