SSH Key

  • SSH(Secure Shell Protocol)๋Š” ๋ณด์•ˆ์ ์œผ๋กœ ์•ˆ์ „ํ•œ ํ†ต์‹ ์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ.
  • ssh ํ†ต์‹ ์„ ์œ„ํ•ด์„œ๋Š” ๋น„๋Œ€์นญ ํ‚ค๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
    • Private key
    • Public key
  • ssh-keygen์œผ๋กœ ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    $ ssh-keygen # RSA ์•”ํ˜ธํ™”, ~/.ssh ๋””๋ ‰ํ† ๋ฆฌ์— id_rsa, id_rsa.pub ํŒŒ์ผ์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.
    $ ssh-keygen -f ./ssh/key # RSA ์•”ํ˜ธํ™”, ./ssh ๋””๋ ‰ํ† ๋ฆฌ์— key, key.pub ํŒŒ์ผ์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.
    
    • id_rsa๋Š” ๋น„๊ณต๊ฐœ ํ‚ค์ด๋ฏ€๋กœ ์ ˆ๋Œ€ ๊ณต๊ฐœ๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.
    • id_rsa.pub์€ ๊ณต๊ฐœ ํ‚ค๋‹ค.
  • ssh-keyscan์œผ๋กœ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ(๋ณดํ†ต ์„œ๋ฒ„)์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
    $ ssh-keyscan 192.168.43.39 # 192.168.43.39์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
    $ ssh-keyscan github.com >> ~/.ssh/known_hosts # github.com์˜ ๊ณต๊ฐœ ํ‚ค๊ฐ€ ~/.ssh/known_hosts์— ์ถ”๊ฐ€๋œ๋‹ค.
    
    • known_hosts์— ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ ‘์†ํ•  ๋•Œ ๋ฌผ์–ด๋ณด์ง€ ์•Š๋Š”๋‹ค.

Troubleshooting

  • public key๋ฅผ ์žƒ์–ด๋ฒ„๋ฆฐ ๊ฒฝ์šฐ:
    $ ssh-keygen -y -f ~/.ssh/id_rsa # `-y` ์˜ต์…˜์„ ์ฃผ๋ฉด private ํ‚ค๋กœ๋ถ€ํ„ฐ public ํ‚ค๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•œ๋‹ค.
    

์ฐธ๊ณ ์ž๋ฃŒ

์ด ๋ฌธ์„œ๋ฅผ ์ธ์šฉํ•œ ๋ฌธ์„œ