Skip to content

Latest commit

ย 

History

History
216 lines (186 loc) ยท 11.9 KB

File metadata and controls

216 lines (186 loc) ยท 11.9 KB

๊ณ„์ • ๋งŒ๋“ค๊ณ  ์„ค์ •ํ•˜๊ธฐ

๊ฐ€์žฅ ๋จผ์ € ํ•  ์ผ์€ ๋ฌด๋ฃŒ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ๋งŒ๋“œ๋Š” ์ผ์ด๋‹ค. https://github.com์— ๋ฐฉ๋ฌธํ•ด์„œ ์‚ฌ์šฉ์ž์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ ์ฃผ์†Œ, ์•”ํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  โ€œSign up for GitHubโ€ ์ด๋ผ๋Š” ํฐ ๋…น์ƒ‰ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

GitHub ๊ฐ€์ž… ํผ.
Figure 1. GitHub ๊ฐ€์ž… ํผ.

๋‹ค์Œ ๋ณด์ด๋Š” ํ™”๋ฉด์€ ์œ ๋ฃŒ ์˜ต์…˜์— ๋Œ€ํ•œ ์•ˆ๋‚ด ํŽ˜์ด์ง€์ธ๋ฐ, ์ง€๊ธˆ์€ ๋ฌด์‹œํ•œ๋‹ค. GitHub๋Š” ์ž…๋ ฅํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ํ™•์ธ ๋ฉ”์ผ์„ ๋ณด๋ƒˆ์„ ๊ฒƒ์ด๋‹ค. ๋ฉ”์ผ์˜ ์ง€์‹œ๋ฅผ ๋”ฐ๋ฅด์ž. ๋‚˜์ค‘์— ์‚ดํŽด๋ณผ ํ…Œ์ง€๋งŒ ์ด ๊ณผ์ •์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

Note

๋ฌด๋ฃŒ ๊ณ„์ •๋„ GitHub ๊ธฐ๋Šฅ์„ ์ „๋ถ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฑ ํ•œ ๊ฐ€์ง€ ์ œ์•ฝ์ด ์žˆ๋Š”๋ฐ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ๋งŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. GitHub์— ๋ˆ์„ ๋‚ด๋ฉด ๋น„๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ์ฑ…์—์„œ ์„ค๋ช…ํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํ™”๋ฉด ์™ผ์ชฝ ๊ผญ๋Œ€๊ธฐ์— ์žˆ๋Š” Octocat ๋กœ๊ณ ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋Œ€์‹œ๋ณด๋“œ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค. ์ด์ œ GitHub์„ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋œ ๊ฒƒ์ด๋‹ค.

SSH ์‚ฌ์šฉํ•˜๊ธฐ

์ด์ œ๋Š” https:// ํ”„๋กœํ† ์ฝœ๋กœ๋„ Git ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ถ€์กฑํ•จ์ด ์—†๋‹ค. ๊ฐ„๋‹จํžˆ ์‚ฌ์šฉ์ž์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋กœ ์ธ์ฆ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ Clone ํ•˜๋Š” ๋ฐ๋Š” ์ธ์ฆ๋„ ํ•„์š” ์—†๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๊ณ„์ •์€ ํ”„๋กœ์ ํŠธ๋ฅผ Fork ํ•˜๊ณ  ๊ทธ ํ”„๋กœ์ ํŠธ์— Push ํ•  ๋•Œ๊ฐ€ ๋ผ์•ผ ๋น„๋กœ์†Œ ํ•„์š”ํ•˜๋‹ค.

SSH ๋ฆฌ๋ชจํŠธ๋ฅผ ์“ฐ๋ ค๋ฉด ๊ณต๊ฐœํ‚ค๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. (์•„์ง ๊ณต๊ฐœํ‚ค๊ฐ€ ์—†์œผ๋ฉด ch04-git-on-the-server.asc๋ฅผ ์ฐธ๊ณ ) ์•„๋ž˜ Windows์˜ ์˜ค๋ฅธ์ชฝ ๊ผญ๋Œ€๊ธฐ์— ์žˆ๋Š” ๊ณ„์ • ์„ค์ • ๋งํฌ๋ฅผ ํด๋ฆญํ•˜์ž.

โ€œ๊ณ„์ • ์„ค์ •โ€ ๋งํฌ.
Figure 2. โ€œ๊ณ„์ • ์„ค์ •โ€ ๋งํฌ.

๊ทธ ์™ผ์ชฝ ๋ฉ”๋‰ด์—์„œ โ€œSSH keysโ€ ๋ฅผ ์„ ํƒํ•œ๋‹ค.

โ€œSSH keysโ€ ๋งํฌ.
Figure 3. โ€œSSH keysโ€ ๋งํฌ.

์—ฌ๊ธฐ์„œ โ€œAdd an SSH keyโ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค. ํ‚ค ์ด๋ฆ„์„ ์ ๋‹นํžˆ ์ž…๋ ฅํ•˜๊ณ  ~/.ssh/id_rsa.pub ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ž…๋ ฅ ์นธ์— ๋ณต์‚ฌํ•ด ๋„ฃ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  โ€œAdd keyโ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

Note

SSH key ์ด๋ฆ„์€ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ๊ฑธ๋กœ ์ง“๋Š”๋‹ค. "๋‚ด ๋…ธํŠธ๋ถ"์ด๋‚˜ "ํšŒ์‚ฌ ๊ณ„์ •"๊ฐ™์ด ๊ตฌ๋ถ„ํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์œผ๋กœ ์ง“๋Š”๋‹ค. ๋‚˜์ค‘์— ํ‚ค๋ฅผ ์‚ญ์ œํ•  ๋•Œ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ์ง“๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์•„๋ฐ”ํƒ€

์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ค€ ์•„๋ฐ”ํƒ€๋ฅผ ๋‹ค๋ฅธ ์•„๋ฐ”ํƒ€๋กœ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ๋‹ค. โ€œSSh Keysโ€ ํƒญ ์œ„์— ์žˆ๋Š” โ€œProfileโ€ ํƒญ์œผ๋กœ ๊ฐ€์„œ โ€œUpload new pictureโ€ ๋ฅผ ํด๋ฆญํ•œ๋‹ค.

โ€œProfileโ€ ๋งํฌ.
Figure 4. โ€œProfileโ€ ๋งํฌ.

์—ฌ๊ธฐ์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ์„ Git ๋กœ๊ณ ๋ฅผ ์„ ํƒํ•˜๊ณ  ํ•„์š”ํ•œ ๋งŒํผ ์ž๋ฅธ๋‹ค.

์•„๋ฐ”ํƒ€ ์ž๋ฅด๊ธฐ.
Figure 5. ์•„๋ฐ”ํƒ€ ์ž๋ฅด๊ธฐ.

์ด์ œ๋ถ€ํ„ฐ GitHub ์‚ฌ์ดํŠธ์—์„œ ์–ด๋””์—์„œ๋“  ์‚ฌ์šฉ์ž์ด๋ฆ„ ์˜†์— ์•„๋ฐ”ํƒ€๊ฐ€ ๋ณด์ธ๋‹ค.

Gravatar ์„œ๋น„์Šค์— ์•„๋ฐ”ํƒ€๋ฅผ ์—…๋กœ๋“œ ํ•œ ์ ์ด ์žˆ์œผ๋ฉด ์ž๋™์œผ๋กœ ๊ทธ ์•„๋ฐ”ํƒ€๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ์ง€๊ธˆ ์ด ๋‹จ๊ณ„๋ฅผ ๋ฐŸ์„ ํ•„์š”๊ฐ€ ์—†๋‹ค.

์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ ์ฃผ์†Œ

GitHub๋Š” Git ์ปค๋ฐ‹์— ์žˆ๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๋ณด๊ณ  ์–ด๋–ค ์‚ฌ์šฉ์ž์ธ์ง€ ์‹๋ณ„ํ•œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉํ•ด์„œ ์ปค๋ฐ‹ํ–ˆ์–ด๋„ GitHub์— ๊ทธ ์ด๋ฉ”์ผ์„ ๋ชจ๋‘ ๋“ฑ๋กํ•˜๊ธฐ๋งŒ ํ–ˆ์œผ๋ฉด GitHub๋Š” ์ž˜ ์ฒ˜๋ฆฌํ•œ๋‹ค. โ€œEmailsโ€ ํ™”๋ฉด์—์„œ ๋ชจ๋‘ ๋“ฑ๋กํ•œ๋‹ค.

์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ „๋ถ€ ์ถ”๊ฐ€ํ•˜๊ธฐ.
Figure 6. ์ด๋ฉ”์ผ ์ฃผ์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ.

์ด๋ฉ”์ผ ์ฃผ์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ.์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๊ฐ๊ฐ ๋‹ค๋ฅธ ์ƒํƒœ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ฃผ์†Œ๋Š” ์ด๋ฏธ ํ™•์ธ์„ ํ•œ ์ฃผ(Primary) ์ฃผ์†Œ์ด๋‹ค. ์•Œ๋ฆผ์ด๋‚˜ ์˜์ˆ˜์ฆ ๋ฉ”์ผ์€ ์ฃผ ์ฃผ์†Œ๋กœ ๊ฐ„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ฃผ์†Œ๋„ ํ™•์ธํ•œ ์ฃผ์†Œ๋กœ ์ฃผ ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋‹ค. ๋งˆ์ง€๋ง‰ ์ฃผ์†Œ๋Š” ์•„์ง ํ™•์ธ์ด ์•ˆ๋˜์–ด ์ฃผ ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค. ์ €์žฅ์†Œ์˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ์ด ์ฃผ์†Œ ์„ธ ๊ฐœ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์žˆ์œผ๋ฉด GitHub๊ฐ€ ํ•ด๋‹น ์‚ฌ์šฉ์ž ๊ณ„์ • ํŽ˜์ด์ง€๋กœ ๋งํฌ๋ฅผ ๊ฑธ์–ด์ค€๋‹ค.

ํˆฌํŒฉํ„ฐ ์ธ์ฆ

๋” ์•ˆ์ „ํ•œ ๋ณด์•ˆ์„ ์œ„ํ•ด์„œ โ€œ2FAโ€(ํˆฌํŒฉํ„ฐ ์ธ์ฆ)์„ ์„ค์ •ํ•œ๋‹ค. 2FA๋Š” ์ตœ๊ทผ ๋“ค์–ด ์ธ๊ธฐ๊ฐ€ ๋†’์•„์ง€๋Š” ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ์•”ํ˜ธ๋ฅผ ๋„๋‘‘๋งž์•˜์„ ๋•Œ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. 2FA๋ฅผ ํ™œ์„ฑํ™” ์‹œํ‚ค๋ฉด GitHub์— ๋กœ๊ทธ์ธ ํ•  ๋•Œ ์ธ์ฆ์ˆ˜๋‹จ์ด ๋‘ ๊ฐ€์ง€ ํ•„์š”ํ•˜๋‹ค(์—ญ์ฃผ - ๊ธฐ์กด ๋กœ๊ทธ์ธ ๋ฐฉ์‹์— OTP๋‚˜ SMS๋ฅผ ์ถ”๊ฐ€). ๋‘˜ ์ค‘ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋งŒ ๋šซ๋ ค์„œ๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ๊ณ„์ •์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

2FA ์„ค์ • ํ™”๋ฉด์€ ๊ณ„์ • ์„ค์ • ํŽ˜์ด์ง€์˜ Security ํƒญ์— ์žˆ๋‹ค.

Security ํƒญ์— ์žˆ๋Š” 2FA
Figure 7. Security ํƒญ์— ์žˆ๋Š” 2FA

โ€œSet up two-factor authenticationโ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด 2FA ์„ค์ • ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค. โ€œTOTP(Time based One-Time ์•”ํ˜ธโ€ ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์Šค๋งˆํŠธํฐ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ๊ณ ๋ฅด๊ฑฐ๋‚˜ GitHub๊ฐ€ ์ธ์ฆ ์ฝ”๋“œ๋ฅผ SMS๋กœ ์ „์†กํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์„ค์ •ํ•˜๋ฉด ๋กœ๊ทธ์ธํ•  ๋•Œ TOTP๋‚˜ ์ธ์ฆ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๋งˆ์Œ์— ๋“œ๋Š” ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฅด๊ณ  ์ง€์‹œ์— ๋”ฐ๋ผ 2FA๋ฅผ ์„ค์ •ํ•œ๋‹ค. GitHub์— ๋กœ๊ทธ์ธํ•  ๋•Œ๋งˆ๋‹ค ํ•œ ๊ฐ€์ง€ ์ฝ”๋“œ๋ฅผ ๋” ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ด์ œ ๊ณ„์ •์€ ์ข€ ๋” ์•ˆ์ „ํ•ด์กŒ๋‹ค.