Repolode
appleboy

appleboy/ssh-action

CI/CD 워크플로에서 SSH로 원격 서버에 명령을 실행하는 GitHub Action

스타
6,225
포크
679
열린 이슈
32
마지막 커밋
2개월 전

어떤 프로젝트인가요?

SSH for GitHub Actions를 사용하면 워크플로에서 SSH로 하나 이상의 원격 호스트에 로그인해 셸 명령이나 스크립트 파일을 실행할 수 있습니다. GitHub Actions 파이프라인의 일부로 서버에 코드를 배포하거나 서비스를 재시작하고 유지보수 작업을 실행할 때 주로 사용합니다. 이 Action은 drone-ssh를 기반으로 Golang으로 만들어졌습니다.

연결 옵션으로는 비밀번호 및 private key 인증, 사용자 지정 포트, IPv4/IPv6 프로토콜 선택, 호스트 fingerprint 확인, 별도의 프록시 설정을 통한 jump host 연결이 제공됩니다. 한 단계에서 여러 호스트를 대상으로 병렬 또는 동기 방식으로 작업할 수 있습니다. 원격 스크립트에 환경 변수를 전달할 수 있으며, 표준 출력을 step output으로 저장해 이후 단계에서 사용할 수도 있습니다.

저장소에는 RSA 및 ED25519 키 생성 안내, 이전 알고리즘의 OpenSSH 호환성에 관한 참고 사항, 명령을 찾지 못하는 셸 환경의 문제 해결 방법이 포함되어 있습니다.

핵심 기능

  • 01원격 호스트에서 여러 명령이나 스크립트 파일 실행
  • 02비밀번호 또는 private key로 인증하고 passphrase 사용 지원
  • 03여러 호스트에 병렬 또는 동기 방식으로 배포
  • 04별도의 프록시 설정으로 jump host를 거쳐 연결
  • 05원격 스크립트에 환경 변수 전달
  • 06이후 워크플로 단계에서 사용할 명령 출력 저장

활용 사례

  • push 이후 빌드한 애플리케이션을 VPS 또는 온프레미스 서버에 배포
  • CI에서 원격 시스템의 서비스를 재시작하거나 데이터베이스 마이그레이션 실행
  • 한 워크플로 단계에서 여러 호스트에 유지보수 스크립트 실행
  • GitHub 호스팅 러너에서 bastion host 뒤에 있는 프라이빗 서버에 연결

빠른 시작

  1. 1

    host, username, key, script 입력값을 지정해 워크플로에 appleboy/ssh-action 단계를 추가합니다

  2. 2

    HOST, USERNAME, KEY, PORT를 GitHub Secrets에 저장하고 단계에서 참조합니다

  3. 3

    저장소에 push하여 워크플로를 트리거하고 원격 명령을 실행합니다

사용 전 알아둘 점

  • GitHub Actions 워크플로 내에서만 실행되며 독립형 명령줄 도구로는 사용할 수 없습니다.
  • 원격 호스트는 GitHub 러너의 SSH 연결을 허용해야 하며 키 또는 비밀번호 로그인이 설정되어 있어야 합니다.

토픽

자주 묻는 질문

ssh-action은(는) 무엇인가요?
CI/CD 워크플로에서 SSH로 원격 서버에 명령을 실행하는 GitHub Action SSH for GitHub Actions를 사용하면 워크플로에서 SSH로 하나 이상의 원격 호스트에 로그인해 셸 명령이나 스크립트 파일을 실행할 수 있습니다. GitHub Actions 파이프라인의 일부로 서버에 코드를 배포하거나 서비스를 재시작하고 유지보수 작업을 실행할 때 주로 사용합니다. 이 Action은 drone-ssh를 기반으로 Golang으로 만들어졌습니다.
ssh-action은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
ssh-action은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
ssh-action은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. ssh-action의 마지막 커밋은 2026년 8월 16일입니다.
ssh-action은(는) 어디에 사용할 수 있나요?
push 이후 빌드한 애플리케이션을 VPS 또는 온프레미스 서버에 배포 CI에서 원격 시스템의 서비스를 재시작하거나 데이터베이스 마이그레이션 실행 한 워크플로 단계에서 여러 호스트에 유지보수 스크립트 실행 GitHub 호스팅 러너에서 bastion host 뒤에 있는 프라이빗 서버에 연결
ssh-action는 어떻게 설치하나요?
host, username, key, script 입력값을 지정해 워크플로에 appleboy/ssh-action 단계를 추가합니다 HOST, USERNAME, KEY, PORT를 GitHub Secrets에 저장하고 단계에서 참조합니다 저장소에 push하여 워크플로를 트리거하고 원격 명령을 실행합니다
ssh-action은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/appleboy/ssh-action

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트