๐ SSH ์ ์์ผ๋ก ์ดํดํ๋ ๋์นญํค์ ๋น๋์นญํค ์ํธํ ๋ฐฉ์
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 ๋น๋ฐ๋ฒํธ)
๊ณต๊ฐํค ๊ธฐ๋ฐ ์ธ์ฆ ๊ณผ์
- ํด๋ผ์ด์ธํธ๋ ์์ ์ ๊ณต๊ฐํค๋ฅผ ์๋ฒ์ ๋ณด๋
- ์๋ฒ๋ ํด๋น ๊ณต๊ฐํค๊ฐ
~/.ssh/authorized_keys
์ ์๋์ง ํ์ธ - ์์ผ๋ฉด ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ challenge(๋์)๋ฅผ ๋ณด๋
- ํด๋ผ์ด์ธํธ๋ ๊ทธ challenge๋ฅผ ์์ ์ ๊ฐ์ธํค๋ก ์๋ช ํด์ ์๋ฒ์ ์ ๋ฌ
- ์๋ฒ๋ ๊ณต๊ฐํค๋ก ์๋ช ์ ๊ฒ์ฆํ๊ณ , ์ธ์ฆ์ด ์ฑ๊ณตํ๋ฉด ๋ก๊ทธ์ธ ํ์ฉ
โ ์ด ๊ณผ์ ์ ssh-copy-id ๋ช ๋ น์ผ๋ก ๊ณต๊ฐํค๋ฅผ ์ฌ์ ์ ๋ฑ๋กํด ๋์ด์ผ ๊ฐ๋ฅํฉ๋๋ค.
5. ์ดํ ํต์ (๋์นญํค ์ฌ์ฉ)
- ์์์ ์์ฑ๋ ์ธ์ ํค(๋์นญํค)๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋์ด ์ ์ก
- ์ด ํค๋ ๋ฉ๋ชจ๋ฆฌ์๋ง ์กด์ฌํ๋ฉฐ, ์ ์ ์ข ๋ฃ ์ ์ญ์
โ ๋์นญํค๋ ์๋๊ฐ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ์ค์ ๋ฐ์ดํฐ ์ ์ก์๋ ๊ผญ ํ์ํฉ๋๋ค.
์ ๋ฆฌ: SSH์ ์ํธํ ๊ฐ๋ ์ ์ฐ๊ฒฐ
SSH ์ ์ ๋จ๊ณ | ์ฌ์ฉ๋๋ ์ํธํ | ์ฌ์ฉ ๋ชฉ์ |
---|---|---|
์๋ฒ ์ธ์ฆ | ๋น๋์นญํค (์๋ฒ ํธ์คํธ ํค) | ์ ์ ํ์ธ |
ํค ๊ตํ | ๋น๋์นญํค (DH, ECDH) -> ๋์นญํค ์์ฑ | ์์ ํ ์ธ์ ํค ๊ณต์ |
์ฌ์ฉ์ ์ธ์ฆ | ๋น๋์นญํค (ํด๋ผ์ด์ธํธ ๊ณต๊ฐ/๊ฐ์ธํค) | ๋ก๊ทธ์ธ ์ธ์ฆ |
์ดํ ํต์ | ๋์นญํค | ์ค์ ๋ฐ์ดํฐ ์ํธํ |
๋๊ธ๋จ๊ธฐ๊ธฐ