실용적 단일 서버 pipeline
모든 프로젝트가 managed cloud 플랫폼에 살지는 않아. VPS deploy, self-hosted 서버, fleet 관리, 홈랩 작업은 SSH 기반 deploy 가 정직하고 신뢰성 있어. 패턴:
- SSH private key 를 repo secret 으로 저장.
- CI 에서 엄격한 권한으로 임시 파일에 key 쓰기.
ssh또는rsync로 연결; deploy 스크립트 실행.
또는 패키지 action: 명령 실행에 appleboy/ssh-action, 파일 sync 에 burnett01/rsync-deployments.
SSH 키 위생
- CI 전용 새 키 생성 — 개인 키 재사용 금지.
- 타겟의 authorized_keys 항목을
command="...",from="github-runner-ip-range", 또는 둘 다 로 제한. - 분기 rotation.
- MITM 방지 위해 CI 에서
~/.ssh/known_hosts에 호스트 추가.