Gist: Github workflow that uses SSH
A sample Github workflow that uses SSH.
Last updated on: 2024-12-04
Setup your workflow file:
on:
push:
branches:
- "main"
jobs:
deploy:
name: Deploy my app using SSH
runs-on: ubuntu-latest
env:
SSH_KEY: ${{ secrets.SSH_KEY }}
SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_KEY_PATH: "ssh_key"
steps:
- name: Import code
uses: actions/checkout@v3
- name: Do something that uses SSH
run: |
echo "$SSH_KEY" > "$SSH_KEY_PATH"
chmod 0600 "$SSH_KEY_PATH"
ssh -i "$SSH_KEY_PATH" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
"$SSH_USERNAME"@"$SSH_HOST" "pwd"
Define your secrets in your Github repo:
- SSH_KEY: Private SSH key to connect to remote host.
- SSH_USERNAME: OS username to use for SSH connection.
- SSH_HOST: Remote host address (ex: "1.2.3.4").