1.Linux: SSH and Key-Based Authentication
https://thenewstack.io/linux-ssh-and-key-based-authentication/
Linux: SSH and Key-Based Authentication
Learning to leverage SSH is an essential Linux sysadmin skill. This article covers basic SSH configurations, password-based authentication, and general security settings.
thenewstack.io

[ ์์ฝ ]
Linux: pw๋ฅผ ํตํ SSH ์ฐ๊ฒฐ ์ค์
1. ์ธ์ฆํ๋ ค๋ ํน์ ํธ์คํธ ๋ค์์ด๋ IP ์ฃผ์๋ฅผ ํ๊ฒํ
์๊ฒฉ ์ฌ์ฉ์ ๊ณ์ ์ ์ง์
$ ssh [host name]@<IP address>
์ด๋ฅผ ํตํด, Linux ๋ช ๋ น ์คํ ๋ฐ ์ค์น๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ( Vim, Apache, MariaDB ๋ฑ)์ ์คํํ ์ ์๋ค.
์ฐ๊ฒฐ ํด์ : exit or logout
์์ ๊ฐ์ด pw๋ก SSH ์ฐ๊ฒฐํ๋ฉด ๊ด๋ฆฌ์๊ฐ ํ ๋ฒ์ ํ๋์ ์์คํ ์ ์ฐ๊ฒฐํ์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ ์๋ ์๊ฒฉ ๊ด๋ฆฌ๋ง ํ์ฉ.
๋ ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ๊ฐ ํ์ํ๋ค. ํนํ ์ฌ๋ฌ ์๊ฒฉ ์ฅ์น๋ฅผ ๋ค๋ฃฐ ๋ ๋ฒ๊ฑฐ๋ก์์ด ๋ฐ์ํ๋ค.
ํค ๊ธฐ๋ฐ ์ธ์ฆ์ ์ฌ์ฉํ๋ฉด ์๊ฒฉ ๊ด๋ฆฌ์ ๋ํ ์ธ์ฆ์ ๊ฐ์ํํ๊ณ , ํนํ ์๋ํ ๊ธฐ๋ฅ์ ํจ๊ณผ์ ์ด๋ค.
์๋ํ ๋๊ตฌ๊ฐ ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ ๋์ ์ฒ๋ฆฌํ์ฌ, ๋ฐ๋ก ํ์ผ์ ์ ์ฅํ์ง ์์๋ ์๊ฒฉ ์์คํ ์ธ์ฆ์ด ๊ฐ๋ฅํ๋ค.
ํค ๊ธฐ๋ฐ ์ธ์ฆ
๋น๋์นญ ํค ์ํธํ ์๊ณ ๋ฆฌ์ฆ(์·๋ณตํธํ์ ์๋ก ๋ค๋ฅธ ํค๋ฅผ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ) ์ฌ์ฉ
๊ณต๊ฐ ํค: ๋คํธ์ํฌ๋ฅผ ํตํด ์๊ฒฉ ์์คํ ์ผ๋ก ์ ์ก. ๊ณต๊ฐ ํค๋ก ์ํธํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๊ด๋ จ ๊ฐ์ธ ํค๋ก๋ง ํด๋ ๊ฐ๋ฅํ๋ค
๊ฐ์ธ ํค: ๋ก์ปฌ ์ฅ์น์ ์ ์ฅ(๋คํธ์ํฌ x). ๊ฐ์ธ ํค๋ก ์ํธํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๊ณต๊ฐ ํค๋ก๋ง ํด๋ ๊ฐ๋ฅํ๋ค
๋น๋์นญ ํค๋ ํ์ค ๋น๋ฐ๋ฒํธ๋ณด๋ค ์ถ์ธก, ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ์ด ํจ์ฌ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์์ธก ๊ฐ๋ฅํ ๋จ์ด/๊ตฌ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋น๋ฐ๋ฒํธ๋ณด๋ค ํจ์ฌ ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ค.
Linux: key ๊ธฐ๋ฐ SSH ์ธ์ฆ ๊ตฌ์ฑ
๋ฐฉ๋ฒ์ ํค ์์ ์์ฑํ์ฌ ๊ณต๊ฐ ํค๋ ์๊ฒฉ ์ฅ์น์ ๋ณต์ฌ, ์ฐ๊ฒฐ์ ํ ์คํธํ๋ฉด ๋๋ค.
1. ํค ์ ์์ฑ
$ ssh-keygen
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ฌ ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ์ 2๊ฐ์ ์จ๊น ํ์ผ์ด ์์ฑ๋๋ค.
~/. ssh / id_rsa // private key
~/.ssh / id_rsa.pub // public key
2. ๊ณต๊ฐ ํค๋ฅผ ์๊ฒฉ SSH ์ฅ์น๋ก ๋ณต์ฌ
$ ssh-copy-id
์ด ๋จ๊ณ์์๋ ํจ์ค์๋๊ฐ ํ์ํ๋ค(์ฒ์์ด์ ๋ง์ง๋ง..)
๊ณต๊ฐ ํค ํ์ผ์ ์๊ฒฉ ํธ์คํธ์ ~/. ssh/authorized_users์ ์๋ค.
3. ์ฐ๊ฒฐ ํ ์คํธ
$ ssh [host name]@<IP address>
Key-Based ์ธ์ฆ์ ๋จ์์ฑ ๋ถ๋ถ์์ ๊ฐ์ ์ ๋ณด์ธ๋ค.
๋ ๋น ๋ฅด๊ณ ์์ ํ๊ณ ๊ฐํธํ๊ฒ ๋ก๊ทธ์ธํ ์ ์๊ฒ ๋๋ค.
๊ด๋ฆฌ์๊ฐ ์๋์ผ๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ๋๊น์ง ์์ ์ ์ผ์ ์ค์ง๋๋ค(์ด ๋ฐฉ๋ฒ์ ์๋ํ ์ฒ๋ฆฌํ ์ ์๋ค)
์๋ SSH ์ฐ๊ฒฐ์ ๋น๋ฐ๋ฒํธ ํ์ผ์ด ๋ด์ฅ๋์ด ์์ด ๋ ธ์ถ๋ ์ํ์ด ์๋ค.
์์ ํ ์ ๋กํฐ์น๋ฅผ ์ํ Key-Based ์ธ์ฆ์ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ๊น์ง ๋์ ์ํํด ์ค๋ค.
๋ก์ปฌ ์์คํ ์์ ํค ์์ ์์ฑํ๊ณ ๊ณต๊ฐ ํค๋ฅผ ์๊ฒฉ์ ๋ณต์ฌํ๋ค.(์ฌ๊ธฐ๊น์ง ์ ๋ฐฉ๋ฒ๊ณผ ๋์ผ)
๋ค์ค ์๋ฒ ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ์๋ณ ๋ก์ปฌ SSH ๊ตฌ์ฑ ํ์ผ์ ํธ์งํ๋ฉด ๋๋ค.
โ
SSH(Secure Shell)?
- ๋ณด์๋์ง ์์ ๋คํธ์ํฌ๋ฅผ ํตํด ์๊ฒฉ ์ปดํจํฐ์ ์์ ํ๊ฒ ์ก์ธ์ค ํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ
- ๋ก์ปฌ๊ณผ ์๊ฒฉ ๊ฐ์ ๋ณด์ ์ฑ๋์ ์ ๊ณต → ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ, ๋ช ๋ น ์คํ, ํ์ผ ์ ์ก, ์์คํ ๊ด๋ฆฌ ๋ฑ์ ์ํํ ์ ์๋๋ก ํจ
- Linux ์์คํ ๊ณผ ๋คํธ์ํฌ ์ฅ์น๋ฅผ ์ํ ์ค์ํ ์๊ฒฉ ๊ด๋ฆฌ ๋๊ตฌ
์ฃผ์ ๊ธฐ๋ฅ
1. ๋ค์ํ ํ๋ซํผ์ ์๊ฒฉ ์ ์(๋ก๊ทธ์ธ) ๊ฐ๋ฅ
2. ์๊ฒฉ ๋ช ๋ น ์คํ
3. ๋๋ถ๋ถ Linux ๋ฐฐํฌํ์๋ ๊ธฐ๋ณธ์ผ๋ก ์ค์น๋จ
4. ๊ฐ๋ ฅํ ์ธ์ฆ ๋ฉ์ปค๋์ฆ
5. SCP, SFTP์ ๊ฐ์ ์์ ํ ํ์ผ ์ ์ก ์ง์
6. ๋ค๋ฅธ ๋น๋ณด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ํฐ๋๋ง ์ ๊ณต
7. ์๋ํ, ์คํฌ๋ฆฝํ ๊ฐํ
๐ค ์ด์ ๋ํ ๋์ ์๊ฐ
๊ทธ๋์ ๋๋ ์๋ํ๋ก ์ธํด ๋ณด์์ฑ์ด ์ฝํ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค. ๊ด๋ฆฌ์๊ฐ ์ง์ ํ์ธํ์ง ์๋ค๋ ์ ์ด ๊ทธ ์ด์ ์๋ค.
ํ์ง๋ง ์ค๋ ๊ธฐ์ฌ๋ฅผ ํตํด ํค ๊ธฐ๋ฐ ์ธ์ฆ์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ ์๊ตฌํ์ง ์์ผ๋ฉด์๋, ๋น๋์นญ ์ํธํ๋ฅผ ํตํด ์์ ํ๊ฒ ์ธ์ฆ์ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์คํ๋ ค ๋ณด์์ฑ์ ๊ฐํํ ์ ์๋ค๋ ์ ์ ๊นจ๋ฌ์๋ค.
์๋ํ๋ ์์ ์ผ๋ก ์ธํด ์ง์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ ๋ฐ ํ์ผ์ ์ ์ฅํ๋ ๋์ , ๊ฐ์ธ ํค-๊ณต๊ฐ ํค ์์ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ์ฒ๋ฆฌํ๋ค.
๊ฐ์ธ ํค๋ ๋ก์ปฌ์ ์ ์ฅ๋๋ฉฐ, ์ด๋ฅผ ํตํด ์๊ฒฉ ์์คํ ์ ์์ ํ๊ฒ ์ ๊ทผํ ์ ์๋ค.
๋ฐ๋ผ์ ๋น๋ฐ๋ฒํธ ๊ธฐ๋ฐ ์ธ์ฆ๋ณด๋ค ํจ์ฌ ๋ ์์ ํ๋ค.
'๐๏ธ IT ๋ํฅ ํ์ ๋ฐ ๋์ ์๊ฐ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ๋์ ๋ฆฌํฉํ ๋ง์ ๋์๋ค. ๋ฆฌํฉํ ๋ง์ ์ข๋ค. (0) | 2024.09.04 |
|---|---|
| CI์ CD๋ ์ ๋ถ๋ฆฌ๋์ด์ผ ํ๋ ๊ฐ? (3) | 2024.09.03 |
| ๋ฆฌ๋ ์ค xz ๊ฒฐํจ: ๊ธฐ์ ์ ๋ฌธ์ ๊ฐ ์๋ ์ค๋ฆฌ์ ๋ฌธ์ (2) | 2024.08.30 |
| Java ๋์์ฑ: ๊ฐ์์ฑ ๋ฐ ๋๊ธฐํ (1) | 2024.08.29 |
| [Passkeys & ์ ๋ก ํธ๋ฌ์คํธ] ์ฌ์ฉ ํ๋ํ: "๋น๋ฐ๋ฒํธ๋ฅผ ์์ ์" (1) | 2024.08.28 |