포스트

[이제와서 시작하는 GitHub 마스터하기 - 기초편 #3] 보안 설정과 인증

[이제와서 시작하는 GitHub 마스터하기 - 기초편 #3] 보안 설정과 인증

학습 목표

이 장을 마치면 다음을 할 수 있습니다:

  • ✅ 왜 보안 설정이 중요한지 이해할 수 있습니다
  • ✅ 2단계 인증(2FA)을 설정할 수 있습니다
  • ✅ SSH 키를 생성하고 GitHub에 등록할 수 있습니다
  • ✅ 안전한 GitHub 사용 습관을 익힐 수 있습니다

지난 편 복습

기초편 #2에서는 프로필 꾸미기와 포트폴리오를 배웠습니다:

  • 기본 프로필 설정 (사진, Bio, 연락처)
  • README 프로필 만들기 (username/username 저장소)
  • GitHub Stats와 뱃지 추가
  • 첫 저장소 생성

시리즈 소개

“이제와서 시작하는 GitHub 마스터하기” 시리즈의 세 번째 글입니다. 이번에는 보안 설정을 다룹니다.

“보안은 나중에…” 라고 생각하시나요? ❌ 지금 바로 설정하세요!

GitHub 계정이 해킹당하면:

  • 📂 여러분의 모든 코드가 삭제될 수 있습니다
  • 💼 포트폴리오가 사라질 수 있습니다
  • 🚨 악성 코드가 배포될 수 있습니다

10분만 투자하면 이런 일을 예방할 수 있습니다!

1. 보안 설정 (계정 보호하기)

소요 시간: 약 10분 난이도: ⭐⭐⭐ (중간) 중요도: ⭐⭐⭐⭐⭐ (매우 중요!)

왜 보안이 중요한가요?

  • GitHub에 중요한 코드를 저장하게 됩니다
  • 계정이 해킹당하면 프로젝트가 삭제될 수 있습니다
  • 회사 프로젝트를 하면 더욱 중요합니다

2단계 인증(2FA) 활성화하기

2FA가 뭔가요?

  • 비밀번호만으로는 로그인 불가
  • 비밀번호 + 인증 코드(6자리 숫자)가 필요
  • 스마트폰 앱에서 코드를 받아야 로그인 가능
  • 훨씬 안전합니다!

따라하기:

1단계: 설정 페이지 이동

  1. Settings → 왼쪽 메뉴에서 “Password and authentication” 클릭

Password and authentication 메뉴 Settings 왼쪽 메뉴에서 “Password and authentication”을 찾으세요

2단계: 2FA 섹션 찾기

  1. “Two-factor authentication” 섹션 찾기

Two-factor authentication 섹션 페이지를 아래로 스크롤하면 Two-factor authentication 섹션이 나타납니다

3단계: 2FA 활성화 시작

  1. “Enable two-factor authentication” 버튼 클릭

Enable 2FA 버튼 녹색 “Enable two-factor authentication” 버튼을 클릭하여 시작하세요

4단계: 인증 방법 선택

  1. 인증 방법 선택하기 (둘 중 하나 선택)

인증 방법 선택 화면 Authenticator app (앱) 또는 SMS/Text message (문자) 중 선택하세요

두 가지 방법 비교:

방법 Authenticator app (앱) SMS/Text message (문자)
장점 더 안전함, 오프라인 가능 설정 간단, 앱 불필요
단점 앱 설치 필요 해킹 가능성, 통신 필요
추천 강력 추천! ⚠️ 비추천

💡 왜 앱을 추천하나요?

  • SMS는 SIM 스와핑 공격에 취약합니다
  • 앱은 오프라인에서도 작동합니다
  • 더 안전하고 신뢰할 수 있습니다

5단계: 인증 앱 설치

  1. 인증 앱 설치 (앱 방식 선택 시) 추천 인증 앱:

💡 어떤 앱을 선택해야 하나요? 셋 다 훌륭합니다! 익숙한 회사의 앱을 선택하세요.

6단계: QR 코드 스캔

  1. QR 코드 스캔하기

QR 코드 스캔 화면 스마트폰 인증 앱으로 이 QR 코드를 스캔하세요

스캔 방법:

  1. 스마트폰에서 인증 앱 실행
  2. ”+” 또는 “계정 추가” 버튼 클릭
  3. “QR 코드 스캔” 선택
  4. 화면의 QR 코드에 카메라 대기
  5. 자동으로 “GitHub” 계정 추가됨

💡 QR 코드가 스캔 안 되나요? 화면 아래 “Enter this text code” 옵션을 사용하여 수동으로 입력할 수 있습니다.

7단계: 복구 코드 저장 (⚠️ 매우 중요!)

  1. Recovery Codes 저장

Recovery Codes 화면 이 복구 코드들을 반드시 안전한 곳에 저장하세요!

⚠️ 복구 코드 - 반드시 저장하세요!

화면에 나오는 Recovery Codes(복구 코드)는 매우 중요합니다!

왜 중요한가요?

  • 휴대폰을 잃어버렸을 때 유일한 계정 접근 방법
  • 새 휴대폰으로 바꿀 때 필요
  • 인증 앱을 실수로 삭제했을 때 필요

어디에 저장하나요? (하나 이상 선택)

추천 방법:

  • 비밀번호 관리자 (1Password, LastPass, Bitwarden)
  • 클라우드에 암호화된 파일로 저장
  • 종이에 적어서 금고나 안전한 곳에 보관

⚠️ 임시 방법 (나중에 옮기기):

  • 스크린샷 찍어서 안전한 폴더에 저장
  • Download 버튼으로 텍스트 파일 다운로드

절대 하지 말 것:

  • 저장 안 하고 그냥 넘어가기
  • 공개된 클라우드나 이메일에 저장
  • 다른 사람과 공유
  • 스크린샷만 찍고 백업 안 하기

💾 지금 당장 저장하세요!

이 화면은 단 한 번만 표시됩니다. 지금 저장하지 않으면 나중에 휴대폰을 잃어버렸을 때 계정에 접근할 수 없습니다!

8단계: 인증 코드 입력 및 완료

  1. 마지막 인증
    • 인증 앱에 나오는 6자리 숫자 입력
    • 30초마다 바뀌니 빠르게 입력하세요
    • “Verify” 또는 “Enable” 버튼 클릭
    • 🎉 2FA 설정 완료!

💡 복구 코드 확인하기: Settings → Password and authentication → Two-factor authentication → Recovery codes에서 언제든 확인 가능

SSH 키 설정 (선택사항)

초보자 안내: 이 부분은 조금 어려울 수 있습니다. 건너뛰어도 괜찮습니다! 나중에 Git을 배우면서 다시 설정해도 됩니다.

SSH 키가 뭔가요? (클릭해서 보기)

SSH 키란?

  • 컴퓨터와 GitHub 사이의 “비밀 암호”
  • 매번 비밀번호를 입력하지 않아도 됩니다
  • 더 안전합니다

언제 필요한가요?

  • 터미널에서 Git을 사용할 때
  • 코드를 자주 올리고 내릴 때
  • 나중에 필요하면 다시 설정해도 됩니다

지금 설정할까요?

  • 터미널을 한번도 안 써봤다면 → 나중에 하는 걸 추천
  • Git을 이미 배웠다면 → 지금 설정하세요
  • 잘 모르겠다면 → 일단 건너뛰기
SSH 키 설정 방법 (자세한 설명)

1단계: 터미널 열기

Windows:

  1. 시작 메뉴에서 “cmd” 검색
  2. “명령 프롬프트” 실행
  3. 또는 Git Bash 사용 (Git을 설치했다면)

Mac:

  1. Spotlight 검색 (Cmd + Space)
  2. “터미널” 입력하고 실행

Linux:

  • Ctrl + Alt + T

2단계: SSH 키 생성

아래 명령어를 복사해서 붙여넣으세요. 이메일 부분은 자신의 GitHub 이메일로 바꾸세요!

1
ssh-keygen -t ed25519 -C "your_email@example.com"

실행하면 이런 질문들이 나옵니다:

  1. “Enter file in which to save the key”
    • 그냥 엔터 누르세요 (기본값 사용)
  2. “Enter passphrase”
    • 그냥 엔터 누르세요 (비밀번호 없이)
    • 또는 추가 비밀번호를 설정할 수 있습니다
  3. “Enter same passphrase again”
    • 다시 엔터 누르세요

완료! SSH 키가 만들어졌습니다.

3단계: 공개 키 복사하기

Mac/Linux:

1
cat ~/.ssh/id_ed25519.pub

Windows (명령 프롬프트):

1
type %USERPROFILE%\.ssh\id_ed25519.pub

Windows (Git Bash):

1
cat ~/.ssh/id_ed25519.pub

화면에 나오는 긴 문자열을 전부 복사하세요. ssh-ed25519로 시작합니다.

4단계: GitHub에 등록하기

  1. GitHub → Settings → 왼쪽 메뉴 “SSH and GPG keys” 클릭

SSH and GPG keys 메뉴 Settings 왼쪽 메뉴에서 “SSH and GPG keys”를 찾으세요

  1. “New SSH key” 버튼 (녹색) 클릭

  2. SSH 키 정보 입력

Add SSH key 화면 Title과 Key를 입력하는 화면이 나타납니다

  • Title: 컴퓨터 이름 입력
    • 예: “내 노트북”, “회사 컴퓨터”, “Mac Pro”
    • 나중에 여러 키를 구분하기 위한 이름입니다
  • Key: 복사한 긴 문자열 붙여넣기
    • ssh-ed25519 AAAA...로 시작하는 전체 문자열
    • 전부 다 붙여넣어야 합니다!
  1. “Add SSH key” 버튼 클릭

  2. 비밀번호 입력 (GitHub 로그인 비밀번호)

5단계: 연결 테스트

1
ssh -T git@github.com

처음 실행하면 이런 메시지가 나옵니다:

1
Are you sure you want to continue connecting (yes/no)?

“yes” 입력하고 엔터

성공하면 이런 메시지가 나옵니다:

1
Hi 사용자명! You've successfully authenticated...

축하합니다! SSH 키 설정 완료!

자주 묻는 질문 (FAQ)

Q1. 2FA를 꼭 설정해야 하나요?

A: 필수는 아니지만 강력히 권장합니다. 특히 오픈소스 프로젝트에 기여하거나 회사 코드를 다룬다면 필수입니다.

Q2. 휴대폰을 잃어버리면 어떻게 하나요?

A: 2FA 설정 시 받은 Recovery Codes를 안전한 곳에 보관하세요. 이 코드로 복구할 수 있습니다.

Q3. SSH 키 생성이 어려워요. HTTPS는 안 되나요?

A: HTTPS도 가능하지만, 매번 비밀번호를 입력해야 합니다. SSH가 더 편리하고 안전합니다.

Q4. SSH 키를 여러 개 만들어야 하나요?

A: 컴퓨터마다 별도의 SSH 키를 만드는 것을 권장합니다. 보안상 더 안전합니다.

Q5. SSH 키 비밀번호를 잊어버렸어요!

A: SSH 키 비밀번호는 복구할 수 없습니다. 새로운 키를 생성하고 GitHub에 다시 등록하세요.

실습 과제

📝 필수 과제

  • 2단계 인증(2FA) 활성화하기
  • Recovery Codes 안전한 곳에 저장하기
  • 이메일 프라이버시 설정 확인하기

🚀 도전 과제

  • SSH 키 생성 및 등록하기
  • SSH 연결 테스트 성공하기
  • 비밀번호 강도 높이기 (최소 16자 이상)

보안 체크리스트

설정을 완료했다면 아래 항목을 체크하세요:

  • 강력한 비밀번호 사용 (16자 이상, 특수문자 포함)
  • 2단계 인증(2FA) 활성화
  • Recovery Codes 안전하게 보관
  • 이메일 프라이버시 설정 완료
  • Session 목록 확인 (의심스러운 접속 없는지)
  • SSH 키 등록 (선택사항)

마무리

🎉 축하합니다! 이제 여러분의 GitHub 계정이 훨씬 안전해졌습니다!

보안은 한 번 설정하면 끝이 아닙니다. 정기적으로 점검하고 업데이트하는 습관을 들이세요.

🔐 보안 관리 팁

  • 월 1회: 연결된 기기 및 세션 확인
  • 분기 1회: 비밀번호 변경 고려
  • 년 1회: SSH 키 교체 고려

🎯 다음 단계

다음 편에서는 Repository(저장소)를 본격적으로 배워보겠습니다!

  • Repository란 무엇인가?
  • 첫 Repository 만들기
  • README 작성하기

📚 GitHub 마스터하기 시리즈

🌱 기초편 (입문자)

  1. GitHub 소개와 계정 만들기
  2. 프로필 꾸미기와 포트폴리오
  3. 보안 설정과 인증 👉 현재 글
  4. Repository 이해하기
  5. README 작성법
  6. .gitignore와 라이선스
  7. 첫 커밋과 관리
  8. git add와 commit
  9. git push와 pull
  10. 실전 워크플로우
  11. Branch 기본
  12. Merge와 Rebase
  13. 브랜치 전략
  14. Fork와 Clone
  15. Pull Request

💼 실전편 (중급자)

  1. Issues 활용법
  2. Projects로 프로젝트 관리
  3. Code Review 잘하기
  4. GitHub Discussions
  5. Team 협업 설정
  6. GitHub Pages

🚀 고급편 (전문가)

  1. GitHub Actions 입문
  2. Actions 고급 활용
  3. Webhooks와 API
  4. GitHub Apps 개발
  5. 보안 기능
  6. GitHub Packages
  7. Codespaces
  8. GitHub CLI
  9. 통계와 인사이트

🏆 심화편 (전문가+)

  1. Git Submodules & Subtree
  2. Git 내부 동작 원리
  3. 고급 브랜치 전략과 릴리스 관리
  4. GitHub GraphQL API
  5. GitHub Copilot 완벽 활용
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.