콘텐츠로 이동

Envii - 암호화된 환경 변수 백업 치트시트

Envii - 암호화된 환경 변수 백업 치트시트

섹션 제목: “Envii - 암호화된 환경 변수 백업 치트시트”

머신 간에 .env 파일을 안전하게 백업하고 복원하는 CLI 도구. 12단어 복구 문구를 사용한 종단간 암호화 (AES-256-GCM)를 사용 — 서버는 평문 비밀을 볼 수 없습니다.

npm install -g envii
git clone https://github.com/akinloluwami/envii.git
cd envii/envii-cli
npm install
npm run build
npm link

필수: Node.js 18+

envii init

이것은 12단어 복구 문구를 생성합니다. 안전하게 저장하세요 — 백업을 복호화하는 유일한 방법입니다. 비밀번호도 없고, 이메일도 없고, 계정도 없습니다.

중요: 복구 문구를 적어서 안전한 곳에 보관하세요 (비밀번호 관리자, 물리적 백업). 분실하면 백업을 영구적으로 복구할 수 없습니다.

명령어설명
envii initenvii 초기화, 복구 문구 생성
envii backup현재 디렉토리 트리를 스캔하고 모든 .env 파일 백업
envii restore백업된 모든 .env 파일 다운로드 및 복호화
envii restore --force프롬프트 없이 기존 .env 파일 복원 및 덮어쓰기
envii list활성 백업이 있는 모든 프로젝트 나열
cd ~/projects      # 프로젝트 루트로 이동
envii backup       # 하위 디렉토리의 모든 .env 파일 스캔
  1. Envii는 현재 디렉토리 트리에서 프로젝트를 스캔합니다 (.git, package.json 등으로 식별)
  2. 모든 .env* 파일이 발견됩니다 (.env, .env.local, .env.production 등)
  3. 각 파일은 PBKDF2 키 유도 (600,000회 반복)를 사용하여 AES-256-GCM으로 로컬에서 암호화됩니다
  4. 암호화된 데이터만 서버로 전송됩니다
  5. 프로젝트는 Git 원격 URL, 패키지 이름 또는 폴더 이름으로 식별됩니다
cd ~/projects      # 새 머신에서
envii restore      # 모든 백업 다운로드 및 복호화
  1. Envii가 암호화된 백업을 다운로드합니다
  2. 복구 문구를 사용하여 로컬에서 복호화합니다
  3. .env 파일을 원래 프로젝트 경로에 다시 배치합니다
  4. 기존 파일을 덮어쓰기 전에 프롬프트 (건너뛰려면 --force 사용)
기능세부 사항
암호화AES-256-GCM
키 유도600,000회 반복의 PBKDF2
고유 IV각 백업에는 고유한 초기화 벡터가 있습니다
인증 태그모든 백업에서 변조 감지
제로 지식서버는 복구 문구, 평문 또는 암호화 키를 볼 수 없습니다
복구12단어 문구가 유일한 인증 방법입니다
명령어설명
envii init --dev로컬 API (localhost:4400)에 대해 초기화
envii backup --dev로컬 API 서버를 사용한 백업
envii restore --dev로컬 API 서버에서 복원
envii list --dev로컬 API에서 백업 나열

Envii는 다음 위치에 설정을 저장합니다:

항목위치
설정 파일~/.envii/config.json
복구 문구 해시설정에 저장 (문구 자체는 절대 저장 안 함)
# 메인 머신에서 초기 설정
envii init
# ⚠️ 12단어 복구 문구를 저장하세요!

# 프로젝트 디렉토리에서 모든 env 파일 백업
cd ~/projects
envii backup

# 새 머신 설정
envii init          # 동일한 복구 문구 입력
cd ~/projects
envii restore       # 모든 .env 파일 복원됨

# 백업된 항목 확인
envii list

# env vars 변경 후 백업 업데이트
envii backup        # 업데이트된 파일 재암호화 및 업로드

Envii는 일반적인 패턴과 일치하는 모든 환경 파일을 스캔합니다:

  • .env
  • .env.local
  • .env.development
  • .env.production
  • .env.staging
  • .env.test
  • 기타 .env* 변형

프로젝트는 다음의 존재로 감지됩니다:

  • .git 디렉토리 (원격 URL을 식별자로 사용)
  • package.json (패키지 이름 사용)
  • 폴더 이름으로 대체
문제해결 방법
”프로젝트를 찾을 수 없음”프로젝트가 있는 디렉토리에 있는지 확인 (.git 또는 package.json 있어야 함)
복원 실패원래 init와 동일한 복구 문구를 사용하는지 확인
복구 문구 분실백업을 복구할 수 없음 — 재초기화 및 재백업
권한 거부~/.envii/ 디렉토리가 쓰기 가능한지 확인
네트워크 오류인터넷 연결 확인; envii는 API 서버에 대한 액세스 필요
  • 비밀번호 관리자에 복구 문구 저장 (1Password, Bitwarden 등)
  • 머신을 전환하거나 다시 포맷하기 전에 envii backup 실행
  • .env 파일을 Git에 커밋하지 마세요 — 대신 envii 사용
  • 환경 변수 업데이트 후 정기적인 백업 실행
  • envii list 사용하여 백업이 최신인지 확인