/
github ์— ์ด์ค‘ ์ธ์ฆ(two factor authentication, 2FA) ์ ์šฉํ•ด์„œ ๋ณด์•ˆ ๊ฐ•ํ™”ํ•˜๊ธฐ(gitlab, bitbucket ํฌํ•จ)

github ์— ์ด์ค‘ ์ธ์ฆ(two factor authentication, 2FA) ์ ์šฉํ•ด์„œ ๋ณด์•ˆ ๊ฐ•ํ™”ํ•˜๊ธฐ(gitlab, bitbucket ํฌํ•จ)


๊ฐœ์š”

ํ•ดํ‚น์œผ๋กœ ์ธํ•ด ์ทจํ• ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์ œ์  ์ด๋“์ด ๋งŽ์•„์ง€๋‹ค ๋ณด๋‹ˆ ๋ถ„์•ผ๋ฅผ ๋ง‰๋ก ํ•˜๊ณ  ์ „๋ฐฉ์œ„์ ์œผ๋กœ ํ•ดํ‚น์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


ํŠนํžˆ ๋ฐ์ดํƒ€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค ๋ณด๋‹ˆ ๋žœ์„ฌ์›จ์–ด์ฒ˜๋Ÿผ ๋ฐ์ดํƒ€๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋ณผ๋ชจ๋กœ ๋ˆ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ •๋ฐ€ํ•ด์ง€๊ณ  ๋‹ค์–‘ํ•ด์ ธ์„œ ๋Œ€์‘๋„ ์–ด๋ ค์›Œ์ง€๊ณ  ํ”ผํ•ด๋„ ์ปค์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


์ตœ๊ทผ์—๋Š” ๊ธฐ์—…๋“ค๋„ github ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ ์†Œ์Šค๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ์€๋ฐ github ๊ณ„์ •์„ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ๊ณ„์ •๊ณผ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๊ณณ์„ ํ„ธ๋ฆด ๊ฒฝ์šฐ github ๋„ ๊ฐ™์ด ํ„ธ๋ฆด ํ™•๋ฅ ์ด ๋†’์•„์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


ํ•ด์ปค๋“ค์€ ๊ณ„์ •์„ ํƒˆ์ทจํ•œ ํ›„์— github ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œ(๋ฌผ๋ก  ํ•ด์ปค PC๋กœ clone ์€ ๋ฐ›์•˜๊ฒ ์ฃ .)ํ•˜๊ณ  ๋ณต๊ตฌ๋ฅผ ๋Œ“๊ฐ€๋กœ ๋น„ํŠธ์ฝ”์ธ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ์ด๋“ค์˜ ์ฐฝ์˜๋ ฅ๊ณผ ๋ถ€์ง€๋Ÿฐํ•จ์—๋Š” ๋†€๋ž๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.


๋˜ ๋‹ค๋ฅธ ์‚ฌ๋ก€๋กœ๋Š” ์‹ค์ˆ˜ ๋˜๋Š” ์šด์˜์˜ ํŽธ์˜์„ฑ๋•Œ๋ฌธ์— "AWS instance์— SSH ๋กœ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ private key"๋ฅผ github ํ”„๋กœ์ ํŠธ์— ์˜ฌ๋ ค ๋†จ์„ ๊ฒฝ์šฐ ์ด๋ฅผ ๊ฐ€์ ธ๊ฐ€์„œ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•œ ํ›„์— ์ฑ„๊ตด๊ธฐ๋ฅผ ๋Œ๋ ค์„œ ์š”๊ธˆ ํญํƒ„์„ ๋งž๊ฒŒ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๊ณต๊ฒฉ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋ณด์•ˆ์˜ ๊ธฐ๋ณธ ์›์น™์„ ๊ฐ–์ถ”๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.


๊ทธ์ค‘์— ํ•˜๋‚˜๋Š” ๋ฏผ๊ฐํ•œ ์ •๋ณด(SSH private key, DB ์ ‘์† ์ •๋ณด)๋ฅผ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” 12 factor app ์˜ ์„ค์ • ํ•ญ๋ชฉ์— ๋‚˜์˜จ ๊ฒƒ์ฒ˜๋Ÿผ ์†Œ์Šค ์ฝ”๋“œ์™€ ์„ค์ •์„ ๋ถ„๋ฆฌํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.


2๋ฒˆ์งธ๋Š” ์ด ๊ธ€์—์„œ ์„ค๋ช…ํ•  ์ด์ค‘ ์ธ์ฆ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ค‘ ์ธ์ค‘์„ ์ ์šฉํ•˜๋ฉด id์™€ ์•”ํ˜ธ๊ฐ€ ๋…ธ์ถœ๋˜์–ด๋„ ๊ณ„์ •์„ ๋„์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


github ์„ค์ •

2 factor ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์›๊ฒฉ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ ํ”„๋กœํ† ์ฝœ์„ ssh ๊ฐ€ ์•„๋‹Œ https ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด pull/push ๊ฐ€ ์ œ๋Œ€๋กœ ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒฝ์šฐ ssh ๋กœ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ github token ์„ ๋ฐ›์•„์„œ ๋“ฑ๋กํ•ด ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๊ถŒ์žฅํ•˜๋Š” 2 factor ์ธ์ฆ ๋ฐฉ๋ฒ•์€ Mobile TOTP ์ด๋ฉฐ github ์—์„œ ์ถ”์ฒœํ•˜๋Š” ์•ฑ์€ Authy , 1Password, LastPass Authenticator ๋กœ ๋ฏธ๋ฆฌ ํœด๋Œ€ํฐ์— ์„ค์น˜ํ•ด ๋†“์Šต๋‹ˆ๋‹ค.


์ด์ œ github ์— ๋กœ๊ทธ์ธํ•œ ํ›„์— Settings → Security ์— ๋“ค์–ด๊ฐ€์„œ Enable two-factor authentication  ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.


ํ™œ์„ฑํ™”๊ฐ€ ๋๋‚ฌ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ๋ฌป๋Š” ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ ์ €๋Š” app ์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ Set up using an app  ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.


๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํœด๋Œ€ํฐ ๋ถ„์‹ค๋“ฑ์˜ ๊ฒฝ์šฐ์— ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋„๋ก Recovery codes  ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ ๊ผญ ๋‹ค์šด๋กœ๋“œํ•œ ํ›„์— ๋ฐฑ์—…ํ•ด ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๊ทธํ›„์— QR Code ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์•ฑ์„ ๋„์›Œ์„œ ์Šค์บ”ํ•œ ํ›„์— 6์ž๋ฆฌ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด 2 factor auth ์„ค์ •์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

Authy ์˜ ๊ฒฝ์šฐ ์•ฑ์˜ ์šฐ์ธก ์ƒ๋‹จ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๊ณ  Add acount  ๋ฅผ ๋ˆ„๋ฅด๋ฉด QR ์Šค์บ”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๋“ฑ๋ก์ด ๋๋‚ฌ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ SMS ๋กœ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์‚ฌ์šฉํ•˜๋Š” ์ „ํ™” ๋ฒˆํ˜ธ๋ฅผ ํ•˜๋‚˜ ๋“ฑ๋กํ•ด ์ค๋‹ˆ๋‹ค.




ํœด๋Œ€ํฐ ์ธ์ฆ์ด ๋๋‚ฌ์œผ๋ฉด ์ด์ œ ๊ณ„์ • ๋ณด์•ˆ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•œ 2 factor ์ธ์ฆ ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ๊ณ  ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ๋กœ๊ทธ์ธ์‹œ์— OTP ๋ฒˆํ˜ธ๋ฅผ ๊ฐ™์ด ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


gitlab ์„ค์ •


  1. gitlab ์— ๋กœ๊ทธ์ธ ํ•œ ํ›„์— Profile settings  ๋ฉ”๋‰ด์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.
  2. Account  → Two-Factor Authentication  ์˜ Enable  ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. QR Code ๊ฐ€ ๋‚˜์˜ค๋ฉด OTP app ์œผ๋กœ ์Šค์บ”ํ•œ ํ›„์— ๋‚˜์˜จ 6์ž๋ฆฌ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด์„œ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
  4. ๋“ฑ๋ก์ด ์™„๋ฃŒ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ ๊ผญ Download codes  ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๋ณต๊ตฌ ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•œ ํ›„์— Proceed  ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ์ด์ œ Proceed  ๋ฅผ ํด๋ฆญํ•˜๋ฉด 2 factor ์ธ์ฆ ์„ค์ •์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.



Bitbucket ์„ค์ •

์ถ”๊ฐ€ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.


์ฐธ๊ณ 

Related content