1 ๋ถ„ ์†Œ์š”

SSH๋Š” ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„์— ์ ‘์†ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์›๊ฒฉ ์ ‘์† ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. telnet๊ณผ ๋‹ฌ๋ฆฌ, ๋ชจ๋“  ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•œ ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด SSH ์ ‘์† ์•ˆ์—๋Š” ๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์ด ๋ชจ๋‘ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์„ ํ†ตํ•ด SSH ์ ‘์†ํ๋ฆ„์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ, ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์•”ํ˜ธํ™” ๊ฐœ๋…์„ ์ดํ•ดํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


์•”ํ˜ธํ™”์˜ ๋‘ ์ถ•: ๋Œ€์นญํ‚ค vs ๋น„๋Œ€์นญํ‚ค

๊ตฌ๋ถ„ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”
ํ‚ค ํ•˜๋‚˜์˜ ํ‚ค๋กœ ์•”/๋ณตํ˜ธํ™” ๊ณต๊ฐœํ‚ค-๊ฐœ์ธํ‚ค ํ•œ ์Œ ์‚ฌ์šฉ
์†๋„ ๋น ๋ฆ„ ๋А๋ฆผ
๋ณด์•ˆ์„ฑ ํ‚ค ์œ ์ถœ ์œ„ํ—˜ ์žˆ์Œ ์•ˆ์ „ํ•จ
์‚ฌ์šฉ ์˜ˆ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ „์†ก ์ธ์ฆ, ํ‚ค ๊ตํ™˜

SSH ๋Š” ์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์„ ์กฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

SSH ์ ‘์† ํ๋ฆ„์œผ๋กœ ๋ณด๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹

1. ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„ ์ ‘์† ์š”์ฒญ

ssh testuser@192.168.1.100
  • ํด๋ผ์ด์–ธํŠธ๋Š” SSH ํฌํŠธ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•จ

2. ์„œ๋ฒ„ ์ธ์ฆ (๋น„๋Œ€์นญํ‚ค ์‚ฌ์šฉ) - ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ โ€œ์‹ ์›โ€์„ ํ™•์ธํ•˜๋Š” ๊ณผ์ •

  • ์„œ๋ฒ„๋Š” ์ž์‹ ์˜ ํ˜ธ์ŠคํŠธ ๊ณต๊ฐœํ‚ค๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌ
  • ๋™์‹œ์—, ํŠน์ • ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ํ˜ธ์ŠคํŠธ ๊ฐœ์ธํ‚ค๋กœ ์„œ๋ช…ํ•œ ๊ฒฐ๊ณผ๋„ ํ•จ๊ป˜ ๋ณด๋ƒ„
  • ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ด๋‹น ์„œ๋ช…์ด ์œ ํšจํ•œ์ง€ ๊ฒ€์‚ฌํ•ด์„œ โ€œ์ด ์„œ๋ฒ„๊ฐ€ ์ง„์งœ์ธ๊ฐ€?โ€๋ฅผ ํ™•์ธํ•จ

โœ… ์ด ๋•Œ ๊ณต๊ฐœํ‚ค๊ฐ€ ํด๋ผ์ด์–ธํŠธ ๋กœ์ปฌ์˜ ~/.ssh/known_hosts ํŒŒ์ผ์— ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด์•ผ โ€˜์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„โ€™๋กœ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค.

known_hosts ๋ž€?

  • ์ด ํŒŒ์ผ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ณผ๊ฑฐ์— ์ ‘์†ํ–ˆ๋˜ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค ์ •๋ณด๋ฅผ ์ €์žฅํ•ด ๋‘” ๋กœ์ปฌ DB
  • ์ฒ˜์Œ ์ ‘์†ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ๊ณ ๊ฐ€ ๋œน๋‹ˆ๋‹ค.
     The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
     ED25519 key fingerprint is SHA256:abcxyz...
     Are you sure you want to continue connecting (yes/no)?
    
  • ์—ฌ๊ธฐ์„œ yes๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ณต๊ฐœํ‚ค๊ฐ€ known_hosts์— ์ €์žฅ๋˜๋ฉฐ, ๋‹ค์Œ ์ ‘์†๋ถ€ํ„ฐ๋Š” ๊ณต๊ฐœํ‚ค์˜ ์ผ์น˜ ์—ฌ๋ถ€๋ฅผ ์ž๋™์œผ๋กœ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ฅ ๋งŒ์•ฝ ๊ณต๊ฐœํ‚ค๊ฐ€ ๋‹ค๋ฅด๋ฉด?

    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  • ์ด๋Š” ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ ๊ฐ€๋Šฅ์„ฑ์„ ์•Œ๋ฆฌ๋Š” ๊ฒฝ๊ณ ์ž…๋‹ˆ๋‹ค.
  • ์‹ค์ œ๋กœ ์„œ๋ฒ„๊ฐ€ ๋ณ€๊ฒฝ๋๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ๊ฐ€ ์‚ฌ์นญํ•˜๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ํ‚ค ๊ตํ™˜ (๋น„๋Œ€์นญํ‚ค ์‚ฌ์šฉ -> ๋Œ€์นญํ‚ค ์ƒ์„ฑ)

  • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” DH ๋˜๋Š” ECDH ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์„ธ์…˜ํ‚ค(๋Œ€์นญํ‚ค)๋ฅผ ์ƒ์„ฑ
  • ์„œ๋กœ ๊ณต๊ฐœํ‚ค๋งŒ ์ฃผ๊ณ ๋ฐ›์•„, ์™ธ๋ถ€์—์„œ ์•Œ ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ™์€ ๋Œ€์นญํ‚ค๋ฅผ ๋งŒ๋“ค์–ด๋ƒ„

4. ์‚ฌ์šฉ์ž ์ธ์ฆ (๋น„๋Œ€์นญํ‚ค or ๋น„๋ฐ€๋ฒˆํ˜ธ)

๊ณต๊ฐœํ‚ค ๊ธฐ๋ฐ˜ ์ธ์ฆ ๊ณผ์ •

  1. ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์„œ๋ฒ„์— ๋ณด๋ƒ„
  2. ์„œ๋ฒ„๋Š” ํ•ด๋‹น ๊ณต๊ฐœํ‚ค๊ฐ€ ~/.ssh/authorized_keys์— ์žˆ๋Š”์ง€ ํ™•์ธ
  3. ์žˆ์œผ๋ฉด ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— challenge(๋‚œ์ˆ˜)๋ฅผ ๋ณด๋ƒ„
  4. ํด๋ผ์ด์–ธํŠธ๋Š” ๊ทธ challenge๋ฅผ ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค๋กœ ์„œ๋ช…ํ•ด์„œ ์„œ๋ฒ„์— ์ „๋‹ฌ
  5. ์„œ๋ฒ„๋Š” ๊ณต๊ฐœํ‚ค๋กœ ์„œ๋ช…์„ ๊ฒ€์ฆํ•˜๊ณ , ์ธ์ฆ์ด ์„ฑ๊ณตํ•˜๋ฉด ๋กœ๊ทธ์ธ ํ—ˆ์šฉ

โœ… ์ด ๊ณผ์ •์€ ssh-copy-id ๋ช…๋ น์œผ๋กœ ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์ „์— ๋“ฑ๋กํ•ด ๋‘์–ด์•ผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

5. ์ดํ›„ ํ†ต์‹  (๋Œ€์นญํ‚ค ์‚ฌ์šฉ)

  • ์œ„์—์„œ ์ƒ์„ฑ๋œ ์„ธ์…˜ํ‚ค(๋Œ€์นญํ‚ค)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก
  • ์ด ํ‚ค๋Š” ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์กด์žฌํ•˜๋ฉฐ, ์ ‘์† ์ข…๋ฃŒ ์‹œ ์‚ญ์ œ

โœ… ๋Œ€์นญํ‚ค๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ „์†ก์—๋Š” ๊ผญ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ •๋ฆฌ: SSH์™€ ์•”ํ˜ธํ™” ๊ฐœ๋…์˜ ์—ฐ๊ฒฐ

SSH ์ ‘์† ๋‹จ๊ณ„ ์‚ฌ์šฉ๋˜๋Š” ์•”ํ˜ธํ™” ์‚ฌ์šฉ ๋ชฉ์ 
์„œ๋ฒ„ ์ธ์ฆ ๋น„๋Œ€์นญํ‚ค (์„œ๋ฒ„ ํ˜ธ์ŠคํŠธ ํ‚ค) ์‹ ์› ํ™•์ธ
ํ‚ค ๊ตํ™˜ ๋น„๋Œ€์นญํ‚ค (DH, ECDH) -> ๋Œ€์นญํ‚ค ์ƒ์„ฑ ์•ˆ์ „ํ•œ ์„ธ์…˜ํ‚ค ๊ณต์œ 
์‚ฌ์šฉ์ž ์ธ์ฆ ๋น„๋Œ€์นญํ‚ค (ํด๋ผ์ด์–ธํŠธ ๊ณต๊ฐœ/๊ฐœ์ธํ‚ค) ๋กœ๊ทธ์ธ ์ธ์ฆ
์ดํ›„ ํ†ต์‹  ๋Œ€์นญํ‚ค ์‹ค์ œ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ