๐Ÿ˜ต ๋“ค์–ด๊ฐ€๋ฉฐ


ํšŒ์‚ฌ์—์„œ ๊ฐœ์ธ ๊ณ„์ •๊ณผ ํšŒ์‚ฌ ๊ณ„์ •์„ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ์จ์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ vscode ๊ณ„์ •์„ ํ•˜๋‚˜๋กœ ์“ฐ๋‹ค๋ณด๋‹ˆ ๋‹ค๋ฅธ ๊ณ„์ •์˜ clone/pull/push ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด SSH ๋ฐฉ์‹์„ ํƒํ–ˆ๋‹ค. ์‚ฌ์‹ค ์ด๊ฒŒ ๋ญ”์ง€ ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•˜์ง€ ์•Š๊ณ  ์“ด ๊ฒƒ ๊ฐ™์•„์„œ ํ•ด๋‹น ์ธ์ฆ์˜ ์›๋ฆฌ์™€ ๋ฐฉ์‹์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์ •๋ฆฌํ•  ํ•„์š”๊ฐ€ ์žˆ์–ด๋ณด์—ฌ ์ •๋ฆฌํ•˜๋Š” ์˜ค๋Š˜์˜ ํฌ์ŠคํŒ…์ด๋‹ค.



๐Ÿ” ๋ณธ๋ฌธ


  1. SSH ๋ž€?

    SSH๋ž€ Secure Shell์˜ ์•ฝ์–ด๋กœ ์ปดํ“จํ„ฐ๋ผ๋ฆฌ ๋ณด์•ˆ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๐Ÿ˜ƒ ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋‚ด ์ปดํ“จํ„ฐ๋ฅผ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๋กœ ๋“ฑ๋กํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ๋กœ๊ทธ์ธํ•ด์„œ ๋ช…๋ น์„ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ธ๋ฐ, ๊นƒํ—ˆ๋ธŒ์—์„œ๋Š” ์ด๋ฅผ ํ†ตํ•ด ๋ณ„๋‹ค๋ฅธ ์ธ์ฆ์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ clone/pull/push ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.


  2. HTTPS, SSH ํด๋ก ์˜ ์ฐจ์ด์ 

    ๊นƒํ—ˆ๋ธŒ์—์„œ๋Š” ์ €์žฅ์†Œ๋ฅผ ํด๋ก ํ•  ๋•Œ ๋‘๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค. https, ssh ๋ฐฉ์‹! ๋‘˜์˜ ์ฐจ์ด๋Š” ์ธ์ฆ์— ์žˆ๋Š”๋ฐ https ๋ฐฉ์‹์€ ๋งค๋ฒˆ ๊ณ„์ •์„ ์ธ์ฆํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š”๋ฐ ssh ๋ฐฉ์‹์€ ํ•œ๋ฒˆ ์ธ์ฆํ•˜๋ฉด ๊ณ„์† ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด๋‹ค. ๋˜ํ•œ https ๋Š” url๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•ด์„œ ์“ฐ๊ธฐ ํŽธํ•˜๊ณ  ssh๋Š” ๋”ฐ๋กœ ์„ค์ •ํ•ด์ค€ ์ด๋ฆ„์œผ๋กœ ํด๋ก ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ํ•ด๋‹น ๋ฐฉ์‹์—์„œ๋Š” ์•„๋ž˜์—์„œ ๋”ฐ๋กœ ๋” ํ’€์–ด๋ณด๊ฒ ๋‹ค.


  3. SSH Key ๋งŒ๋“ค๊ธฐ

    ssh-keygen ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด id_rsa(ํ”„๋ผ์ด๋น— ํ‚ค), id_rsa.pub(๊ณต๊ฐœํ‚ค) ๋‘๊ฐœ์˜ ํ‚ค๊ฐ€ ์Œ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค.

    cd ~/.ssh ์ƒ์„ฑ๋œ ๋‘๊ฐœ์˜ ํ‚ค๋ฅผ ํ™•์ธํ•œ๋‹ค.

    cat id_rsa.pub ๊ณต๊ฐœํ‚ค์˜ ๋ฌธ์ž์—ด์„ ๋ณต์‚ฌํ•ด์„œ ๊นƒํ—ˆ๋ธŒ ๊ณ„์ •์— ๋“ฑ๋กํ•ด์ค€๋‹ค. settings -> SSH and GPG keys -> new SSH key

    nano ~/.ssh/config ๋‚˜๋Š” ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ณ„์ •์„ ๋‘˜ ๊ฒƒ์ด๊ธฐ์— ์ถ”๊ฐ€ ์„ค์ •์ด ํ•„์š”ํ–ˆ๋‹ค. ๊ฐ ํ‚ค์— ์ด๋ฆ„์„ ๋ถ™์—ฌ์ฃผ๋Š” ์ž‘์—…์„ ์•„๋ž˜์™€ ๊ฐ™์ด ํ–ˆ๋‹ค.

    Host github.com-personal
    HostName github.com
    User git IdentityFile ~/.ssh/id_ed25519_personal


    Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_work


    ssh -T (HostName)

    ssh -T ๋’ค์— ์•Œ๋งž์€ ํ˜ธ์ŠคํŠธ ๋„ค์ž„์„ ๋ถ™์—ฌ์ฃผ๊ณ  hello~ ๊ฐ€ ๋‚˜์˜จ๋‹ค๋ฉด ์ธ์ฆ ์„ฑ๊ณต!




์œ„์™€ ๊ฐ™์ด ์„ค์ •๋งŒ ํ•ด์ฃผ๋ฉด ๊ณ„์ •๊ณผ ์ƒ๊ด€์—†์ด ์ €์žฅ์†Œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค! ์•„์ฃผ ์•ˆ์ „ํ•˜๊ฒŒ ์•„์ฃผ ๊ฐ„ํŽธํ•˜๊ฒŒ! ์ž…์‚ฌํ•˜๊ณ  ์ด๊ฒŒ ๋ญ์ง€ ํ•˜๋ฉด์„œ ์„ค์ •ํ–ˆ์—ˆ๋Š”๋ฐ ์ •๋ฆฌ๋ฅผ ํ•˜๋‹ˆ ๋” ์•Œ์•„๊ฐ„ ๋А๋‚Œ์ด๋‹ค. ์—ญ์‹œ ์ •๋ฆฌ์˜ ํž˜์ด๋ž€!