[github] remote: Permission to *.git denied to 403 ์ค๋ฅ ํด๊ฒฐ ssh key ์ธ์ฆ ์ค์ ๋ฐฉ๋ฒ
๋ฌธ์
github์ organization์ผ๋ก ์์ฑํ ํ๋ก์ ํธ์ push๋ฅผ ํ๋ ค๊ณ ํ๋ค.
commit์ ํ๊ณ , ๊ทธ๋ฆฌ๊ณ push๋ฅผ ํ๋ ค๊ณ ํ์ง๋ง,
remote: Permission to ~address~.git denied to haeburney.
fatal: unable to access 'https://~address~.git/': The requested URL returned error: 403
์์ ๊ฐ์ ๊ถํ์ด ์์ด์ ์คํจํ๋ค๊ณ ๋์๋ค
(~address~ : ์์ธํ ์ฃผ์๋ ์ง์ฐ๊ณ , ์์๋ก ์ ์ด๋์ ๊ฐ)
๋ฌธ์ ์์ธ:
- โ ๋ด ๊ณ์ ์ ํธ์ ๊ถํ์ด ์์
- ๋ฆฌํฌ์งํ ๋ฆฌ์ ํธ์ํ ๊ถํ์ด ์์ด์ ๋ฐ์ํ ๋ฌธ์ ์ด๋ค.
- GitHub Organization์์ ๋ด ๊ณ์ ์ด ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ํธ์ํ ๊ถํ์ ๊ฐ๊ณ ์๋์ง ํ์ธํด ๋ณด์๋ผ.
→ ํ์ธํด๋ดค๋๋ฐ admin ๊ณ์ ์ผ๋ก ๋ชจ๋ ๊ถํ์ ๋ค ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก โ ์ ์์ธ์ด ์๋
- โก ์๋ชป๋ ์ธ์ฆ ์ ๋ณด
- Git์์ ์ ์ฅ๋ ๋ก๊ทธ์ธ ์ ๋ณด(์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ ๋๋ Personal Access Token)๊ฐ ์๋ชป๋์์ ์ ์๋ค.
- ์ ์ฅ๋ ์ ๋ณด๋ฅผ ์๋ก ์ ๋ ฅํ๊ฑฐ๋, ์๋ชป๋ ์ ๋ณด๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์ธ์ฆํด ๋ณด์๋ผ.
→ ์ ๋ญ๊ฐ ํด๊ฒฐ๋ฐฉ๋ฒ์ด ๋ ๊ฒ ๊ฐ์ง ์์์ PASS ใ ใ
- โข HTTPS ์ฐ๊ฒฐ ๋ฌธ์
- HTTPS ๋ฐฉ์์ผ๋ก GitHub์ ์ฐ๊ฒฐํ ๋, ์ธ์ฆ ์ ๋ณด๊ฐ ์ ๋๋ก ์ ๋ฌ๋์ง ์์์ ์ ์๋ค.
- SSH ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๋งค๋ฒ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ ๋ ฅํ ํ์ ์์ด ์์ ํ๊ฒ ์ฐ๊ฒฐํ ์ ์๋ค. SSH ํค๋ฅผ ์ค์ ํ๊ณ , ์ ์ฅ์ URL์ SSH ์ฃผ์๋ก ๋ณ๊ฒฝํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์ ์๋ค.
→ 3๋ฒ์ผ๋ก ํด๊ฒฐ ์๋
ํด๊ฒฐ
1. SSH ํค๊ฐ ์์ฑ๋์๋์ง ํ์ธ ls ~/.ssh
ls ~/.ssh
known_hosts๋ง ์๋ค๊ณ ๋จ๋๋ฐ, ์์ง ssh๊ฐ ์์ฑ๋์ง ์์ ๊ฒ์ด๋ค.
ssh๊ฐ ์์ฑ๋์ด ์๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ ํ์ผ๋ค์ด ์์ด์ผ ํ๋ค.
2. ssh ํค ์์ฑ
git.bash๋ cmd์ ๋ค์ด๊ฐ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ค๋ค.
ํ์๋ cmd ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํด์คฌ๋ค.
ssh-keygen
๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ Enter๋ฅผ ๋๋ฌ์ค๋ค.
passphrase๋ ์ถ๊ฐ์ ์ธ ๋ณด์ ๋น๋ฐ๋ฒํธ์ธ๋ฐ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ๋ฉด SSHํค๋ฅผ ์ฌ์ฉํ ๋๋ง๋ค passphrase๋ฅผ ์ ๋ ฅํด์ผํ๋ค.
์ ๋ ฅ์์ด Enter๋ง ๋๋ฅด๋ฉด ๋ณด์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ ์์ด ์ฌ์ฉํ ์ ์๋ค (ํ์๋ ์ด ๋ฐฉ๋ฒ์ผ๋ก ์งํ, ๊ท์ฐฎ๊ธฐ ๋๋ฌธ)
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ์ด๋ ๊ฒ ํ์ผ์ด ์์ฑ๋ ๊ฑธ ๋ณผ ์ ์๋ค
3. ssh ํค ๋ฑ๋ก
New SSH key ํด๋ฆญ
Title : ์ํ๋ Title ์ ๋ ฅ
key๋ .pub ํ์ผ ๋ด์ฉ์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ
4. ssh ํค๊ฐ ์ ๋๋ก ๋ฑ๋ก๋์๋์ง ํ์ธ
ssh -T git@github.com
์ฑ๊ณต์ ์ผ๋ก ๋์๋ค!!
๋ค์ ํธ์๋ฅผ ํ๋๋ ์ ์์ ์ผ๋ก ์๋ฃ๊ฐ ๋์๋ค!!