Skip to content

MrSquaare/ssh-setup-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

ssh-setup-action

Setup SSH

Release Codacy

Table of Contents

About

This GitHub action helps you to setup SSH.

It support Node.js 20+ for Linux and macOS runners.

Using

name: Example

on: [push]

jobs:
  example:
    name: Example
    runs-on: ubuntu-latest
    steps:
    - name: Setup SSH
      uses: MrSquaare/ssh-setup-action@v3
      with:
        host: github.com
        private-key: ${{ secrets.SSH_PRIVATE_KEY }}

Environment variables

This action exports the following environment variables:

  • SSH_PATH: Path to SSH directory
  • SSH_AGENT_PID: PID of SSH agent
  • SSH_AUTH_SOCK: Path to SSH agent socket

Outputs

This action set the following outputs:

  • ssh-path: Path to SSH directory
  • ssh-agent-pid: PID of SSH agent
  • ssh-auth-sock: Path to SSH agent socket

Examples

Single key and clone

name: Clone repository

on: [push]

jobs:
  clone:
    name: Clone
    runs-on: ubuntu-latest
    steps:
    - name: Setup SSH
      uses: MrSquaare/ssh-setup-action@v3
      with:
        host: github.com
        private-key: ${{ secrets.SSH_PRIVATE_KEY }}
    - name: Clone repository
      run: git clone [email protected]:username/repository.git

Multiple keys and multiple clone

name: Clone repositories

on: [push]

jobs:
  clone:
    name: Clone
    runs-on: ubuntu-latest
    steps:
    - name: Setup GitHub SSH
      uses: MrSquaare/ssh-setup-action@v3
      with:
        host: github.com
        private-key: ${{ secrets.SSH_PRIVATE_KEY_GITHUB }}
        private-key-name: github
    - name: Setup GitLab SSH
      uses: MrSquaare/ssh-setup-action@v3
      with:
        host: gitlab.com
        private-key: ${{ secrets.SSH_PRIVATE_KEY_GITLAB }}
        private-key-name: gitlab
    - name: Setup Server SSH with custom port
      uses: MrSquaare/ssh-setup-action@v3
      with:
        host: 1.2.3.4
        port: 8000
        private-key: ${{ secrets.SSH_PRIVATE_KEY_GITLAB }}
        private-key-name: server
    - name: Clone GitHub repository
      run: git clone [email protected]:username/repository.git
    - name: Clone GitLab repository
      run: git clone [email protected]:username/repository.git
    - name: SSH to server
      run: ssh -p 8000 [email protected] 'echo Hello'

Contributing

Bug reports, feature requests, other issues and pull requests are welcome. See CONTRIBUTING.md for more information.

License

Distributed under the MIT License. See LICENSE for more information.