GitHub ActionsでSSH接続をする。
概要
GitHub ActionsでインスタンスにSSHして、任意のコマンドを実行する方法を説明します。
コード
name: SSH
# 手動実行用のトリガー
on: [ workflow_dispatch ]
jobs:
ssh:
runs-on: ubuntu-latest
steps:
- name: generate key
run: |
mkdir -p .ssh && chmod 700 .ssh
echo "$SSH_KEY" > .ssh/id_rsa && chmod 600 .ssh/id_rsa
env:
SSH_KEY: ${{ secrets.ssh_key }}
- name: ssh and command execution
run: |
ssh -t -t -o "StrictHostKeyChecking=no" -i .ssh/id_rsa $HOST "
hostname
"
env:
HOST: ${{ secrets.host }}
GitHub Actionsのsecretに、秘密鍵(secrets.ssh_key)とhost(secrets.host)を登録が必要です。
hostはユーザ名@ホスト名 の形で登録します。
例では、hostnameコマンドを実行しています。ここに実行したいコマンドを記載して行ってください。
-t -t は、模擬端末を割り当てるオプション、
-o "StrictHostKeyChecking=no" は、フィンガープリントの確認を省略するオプションです。
この記事が気に入ったらサポートをしてみませんか?