์ƒˆ์†Œ์‹

๐Ÿƒ Git | Github

(Git) SSH ํ‚ค ์ƒ์„ฑํ•˜๊ธฐ, github ์ €์žฅ์†Œ์— ๊ณต๊ฐœํ‚ค(public key) ๋“ฑ๋ก

  • -


๋“œ๋””์–ด ๋งฅ๋ถ์„ ์ƒ€๋‹ค. ๋ฌด์‹ฌ์ฝ” Github์— push๋ฅผ ํ•˜๋ ค๋Š”๋ฐ Permission denied (publickey) ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ผํ”ผ์‹  ๊ต์œก๋ฐ›์„๋•Œ, ํผ๋ธ”๋ฆญํ‚ค ์„ค์ •์„ ํ•œ๋‘๋ฒˆ ํ•ด๋ดค๋Š”๋ฐ, ์•„๋ฌด๋ž˜๋„ ์ฒ˜์Œ์— ํ•œ๋ฒˆ ํ•ด๋†“์œผ๋ฉด ๋‹ค์‹œ ํ•  ์ผ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์–ต์ด ๊ฐ€๋ฌผ๊ฐ€๋ฌผํ•ด์กŒ๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ๋ก ํ•ด๋†“์œผ๋ ค๊ณ  ํ•œ๋‹ค.

Github ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ณ , SSH๋ฅผ ์ด์šฉํ•˜์—ฌ clone , push, pull ๋“ฑ์„ ํ•˜๋ ค๋ฉด public key๋ฅผ ๋“ฑ๋กํ•ด์•ผํ•œ๋‹ค. ์•„๋ž˜๋Š” ๊ทธ ๊ณผ์ •์ด๋‹ค.

 

 

Git ssh ์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ์ž ์ธ์ฆ

github์˜ ์ €์žฅ์†Œ์— ์žˆ๋Š” ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜(git clone) , ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์—ฌ ๋‹ค์‹œ github๋กœ ์—…๋กœ๋“œ ํ• ๋•Œ (push) ๋Š” ํ•ด๋‹น ์ €์žฅ์†Œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๊ฐ€์กŒ๋Š”์ง€ ํ™•์ธ์„ ๋ฐ›๋Š”๋‹ค. ์ด ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š”๊ฒŒ SSH KEY์ธ๋ฐ, SSH KEY๋Š” 2๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์ง„๋‹ค.

๋”ฐ๋ผ์„œ, ์ƒˆ๋กœ์šด PC์—์„œ ์ž‘์—…์„ ํ•˜๋ ค๋ฉด ํ•„์š”ํ•œ ์ดˆ๊ธฐ ์„ค์ •์ด๋‹ค.

  • public key : ๊ณต๊ฐœํ‚ค (Git ์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ๋ฐ›์„๋•Œ๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)
  • private key : ๊ฐœ์ธํ‚ค

 

์ƒ์„ฑ๋œ key๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ

์ด๋Ÿฌํ•œ ํ‚ค ํŒŒ์ผ์€ ~/.ssh ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

cd ~/.ssh

ls

๋‘๊ฐ€์ง€ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ˜„์žฌ ์ƒ์„ฑ๋œ SSH KEY๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณธ๋‹ค.

 

 

์ƒˆ๋กœ์šด key ์ƒ์„ฑํ•˜๊ธฐ

key๊ฐ€ ์—†๋‹ค๋ฉด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋œ๋‹ค. (์žˆ์–ด๋„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด๋„ ์ƒ๊ด€์—†๋‹ค.)

ssh-keygen -t rsa -C "USERID@EMAIL.COM"

์ž์‹ ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ์œ„ ๋ช…๋ น์–ด ์ž…๋ ฅ - ๊ทธ๋ฆฌ๊ณ  ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ 2๋ฒˆ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด public/ private ras key pair๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์ด๋•Œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ์ƒ๊ด€์—†๋‹ค. (Git hub๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋‹ฌ๋ผ๋„ ๋œ๋‹ค.)

์ž˜ ์ƒ์„ฑ ๋˜์—ˆ๋Š”์ง€ ls ๋ฅผ ์ž…๋ ฅํ•ด๋ณด๋ฉด, 2๊ฐœ์˜ ํŒŒ์ผ์ด ์ƒˆ๋กœ ์ƒ๊ธด๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜์žˆ๋‹ค.

id_rsa๊ฐ€ ๊ฐœ์ธํ‚ค, id_rsa.pub ๊ฐ€ ๊ณต๊ฐœํ‚ค์ด๋‹ค.

 

public key๋ฅผ git setting์— ๋“ฑ๋กํ•˜๊ธฐ

  1. git hub์— ๋กœ๊ทธ์ธํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ ๋งจ ์œ„์—, settings๋กœ ์ด๋™ํ•œ๋‹ค.

 

 

  1. ์™ผ์ชฝ์—SSH and GPG keys ๋ฉ”๋‰ด๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ๊ทธ ๋‹ค์Œ ์ดˆ๋ก์ƒ‰ New SSH key๋ฅผ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

 

 

  1. ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œcat rsa_id.pub๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•ด์ค€๋‹ค.Title์€ ์•„๋ฌด๋‚ด์šฉ์ด๋‚˜ ๋„ฃ์–ด๋„ ๋˜๊ณ , ๋ณต์‚ฌํ•œ public key๋Š” ์˜คํƒ€ ์—†์ด key ํ•ญ๋ชฉ์— ๋„ฃ์–ด์ค€๋‹ค.
  2. (์ด๋•Œ, ๋‚ด์šฉ ์ „์ฒด๋ฅผ ๋ณต์‚ฌํ•ด์•ผํ•œ๋‹ค. ์ฆ‰, ์‹œ์ž‘์€ ssh-rsa ~~ ๋์€ ๋ณธ์ธ์˜ ์ด๋ฉ”์ผ์ฃผ์†Œ๊นŒ์ง€)

Add SSH key ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋

์ด์ œ ํ˜„์žฌ pc์—์„œ ๋ณธ์ธ๊ณ„์ •์˜ ์ €์žฅ์†Œ๋ฅผ ์ˆ˜์ • ํ•  ์ˆ˜ ์žˆ๋‹ค.

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.