Skip to content
terminal

GitHub Action

Setup SSH

v1.4.1 Latest version

Setup SSH

terminal

Setup SSH

Setup private key and add host to known hosts

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Setup SSH

uses: kielabokkie/ssh-key-and-known-hosts-action@v1.4.1

Learn more about this action in kielabokkie/ssh-key-and-known-hosts-action

Choose a version

Setup SSH Github Action

This action adds a SSH key and adds a given hostname or IP address to the known hosts file for external server access. It was heavily inspired by atymic/deployer-php-action.

You can run this action before copying files to an external server using scp or rsync for example.

Sponsor me

Did this action spark joy, or you find it useful? Please consider sponsoring me via GitHub Sponsors. Thanks!

Inputs

Input Required Description
ssh-private-key Yes Private key required to access the host.
ssh-host Yes Hostname or IP address of the server you want to access.
ssh-port Optional Port for used for SSH on the host server (port 22 by default).
ssh-socket Optional The unix file socket that the agent uses for communication with other processes.

Example usage

Just the required inputs:

uses: kielabokkie/ssh-key-and-known-hosts-action@v1
with:
  ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
  ssh-host: your-server.com

If your SSH port is different from the default you can change it:

uses: kielabokkie/ssh-key-and-known-hosts-action@v1
with:
  ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
  ssh-host: your-server.com
  ssh-port: 2222

If you are using this action on concurrent builds the ssh-socket should be unique to prevent address in use issues:

uses: kielabokkie/ssh-key-and-known-hosts-action@v1
with:
  ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
  ssh-host: your-server.com
  ssh-socket: /tmp/ssh_agent_${{ github.sha }}.sock