age — 간단한 파일 암호화 도구
Linux / 사용자 및 보안 관리 / age.html
💬 "age 명령어"
age는 간단한 파일 암호화 도구 GnuPG 대비 사용법이 극단적으로 단순한 파일 암호화 도구입니다.
SSH 공개키로 바로 암호화합니다 (GPG 키 생성 불필요). 단일 바이너리로 의존성이 없습니다.
- 개념: SSH 공개키로 바로 암호화합니다 (GPG 키 생성 불필요).
- 주요 기능: 단일 바이너리로 의존성이 없습니다.
- 장점: X25519·SSH·YubiKey 등 다양한 키 타입을 지원합니다.
- 활용: GPG 대비 사용법이 훨씬 단순합니다.
설치 및 다운로드
age는 패키지 매니저 또는 공식 스크립트로 설치합니다.
| 환경 | 명령 |
|---|---|
| Ubuntu 24.04+ | sudo apt install age |
| RHEL / Fedora | sudo dnf install age |
| macOS (brew) | brew install age |
| 공식 바이너리 | github.com/FiloSottile/age/releases |
| 확인 | age --version |
설치 확인은 age --version으로 합니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
-e, --encrypt | 암호화 (기본) |
-d, --decrypt | 복호화 |
-r, --recipient <key> | 공개키를 지정합니다 |
-i, --identity <file> | 비밀키 파일을 지정합니다 |
-p, --passphrase | 비밀번호 기반 암호화 |
필수 명령어 조합 3가지
age -r age1... file.txt > file.txt.age— 공개키로 암호화age -d -i key.txt file.txt.age > file.txt— 비밀키로 복호화age -r $(cat ~/.ssh/id_ed25519.pub) secrets.env— SSH 공개키 사용
💬 "실제 서버에서 age를 사용하는 예시를 보여줘"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 키 생성
age 키 쌍을 생성합니다.
age-keygen -o key.txt
2단계 · 암호화
공개키로 파일을 암호화합니다.
age -r age1... secrets.env > secrets.env.age
3단계 · 복호화 확인
비밀키로 복호화합니다.
age -d -i key.txt secrets.env.age
실제 실행 화면
age 키를 생성하고 공개키로 파일을 암호화한 결과입니다.

실제 운영 중인 서버
실무에서는 이렇게 씁니다
1. SSH 키로 백업 암호화
상황 — SSH 공개키로 파일을 암호화합니다.
age -r $(cat ~/.ssh/id_ed25519.pub) secrets.env > secrets.env.age
결과 — secrets.env.age 파일이 생성됩니다.
포인트 — SSH 키로 바로 암호화되므로 GPG 키 생성이 필요 없습니다.
2. 원격 서버 복호화
상황 — 암호화 파일을 원격에서 복호화합니다.
scp secrets.env.age root@backup:/backups/
ssh backup 'age -d -i /root/key.txt /backups/secrets.env.age > /backups/secrets.env'
결과 — 원격 서버에서 복호화 완료됩니다.
포인트 — 비밀키는 원격 서버에만 보관합니다.
실제 실행 화면
원격 서버에서 age로 복호화한 결과입니다.

실제 운영 중인 서버
주의할 점
- 비밀키(key.txt)는 절대 git에 커밋하지 않습니다. 암호화가 무력화됩니다.
- lost key = lost data. 비밀키 백업이 필수입니다.
- age는 대칭 암호화(passphrase)도 지원하지만, 공개키 방식이 재사용성·관리성에서 우수합니다.