์ผ๋‹จ ํ•˜๊ณ  ๋ณด๋Š” ์‚ฌ๋žŒ

๋‚˜์ค‘๋ณด๋‹จ ์ง€๊ธˆ์— ์ง‘์ค‘ํ•˜๋˜, ์ง€๊ธˆ๋ณด๋‹จ ๋‚˜์ค‘์— ์™„๋ฒฝํ•ด์ง€์ž๐Ÿ’ช๐Ÿป

๐Ÿ—ž๏ธ IT ๋™ํ–ฅ ํŒŒ์•… ๋ฐ ๋‚˜์˜ ์ƒ๊ฐ ์ •๋ฆฌ

Linux: SSH ๋ฐ Key-Based ์ธ์ฆ

JanginTech 2024. 9. 2. 10:47

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

 

Feature image by Stefan Schweihofer from Pixabay.

 

[ ์š”์•ฝ ]

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. ์ž๋™ํ™”, ์Šคํฌ๋ฆฝํŒ… ๊ฐ•ํ™”

 

 

 


 

๐Ÿค” ์ด์— ๋Œ€ํ•œ ๋‚˜์˜ ์ƒ๊ฐ

๊ทธ๋™์•ˆ ๋‚˜๋Š” ์ž๋™ํ™”๋กœ ์ธํ•ด ๋ณด์•ˆ์„ฑ์ด ์•ฝํ™”๋  ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ด€๋ฆฌ์ž๊ฐ€ ์ง์ ‘ ํ™•์ธํ•˜์ง€ ์•Š๋‹ค๋Š” ์ ์ด ๊ทธ ์ด์œ ์˜€๋‹ค.

ํ•˜์ง€๋งŒ ์˜ค๋Š˜ ๊ธฐ์‚ฌ๋ฅผ ํ†ตํ•ด ํ‚ค ๊ธฐ๋ฐ˜ ์ธ์ฆ์€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์„ ์š”๊ตฌํ•˜์ง€ ์•Š์œผ๋ฉด์„œ๋„, ๋น„๋Œ€์นญ ์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ์ธ์ฆ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜คํžˆ๋ ค ๋ณด์•ˆ์„ฑ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

 

์ž๋™ํ™”๋œ ์ž‘์—…์œผ๋กœ ์ธํ•ด ์ง์ ‘ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ๋ฐ ํŒŒ์ผ์— ์ €์žฅํ•˜๋Š” ๋Œ€์‹ , ๊ฐœ์ธ ํ‚ค-๊ณต๊ฐœ ํ‚ค ์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

๊ฐœ์ธ ํ‚ค๋Š” ๋กœ์ปฌ์— ์ €์žฅ๋˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์›๊ฒฉ ์‹œ์Šคํ…œ์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ธฐ๋ฐ˜ ์ธ์ฆ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์•ˆ์ „ํ•˜๋‹ค.