๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ด๋ก /DevOps

[AWS] SSH๋ž€? / SSH key / chmod

by 6161990 2021. 10. 30.

๐Ÿ“ข ์ €๋ฒˆ์—” SSH KEY๋กœ EC2 ๋จธ์‹ ์— ์ ‘์† ํ•˜๋Š” ๊ณผ์ •์„ ํฌ์ŠคํŒ…ํ–ˆ์—ˆ๋‹ค.

     ์˜ค๋Š˜์€ ๊ทธ ๊ณผ์ •์—์„œ ์“ฐ์˜€๋˜ SSH / SSH Key / chmod ๋ฅผ ์ž์„ธํžˆ ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค. 

๐Ÿ“Œ SSH

์šฐ์„ , SSH (Secure Shell) ๋Š” FTP ๋‚˜ FTP์™€ ์œ ์‚ฌํ•œ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋”˜๊ฐ€์—๋Š” "์›๋ณธ์—์„œ ๋Œ€์ƒ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” HTTP " ์œผ๋กœ SSH๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ๋„ํ•œ๋‹ค. SSH์˜ ๋ฐ˜๋Œ€ ๊ฐœ๋…์œผ๋กœ๋Š” RSH(Remote Shell)์ด ์žˆ๋‹ค. ์ฆ‰, ์‹œํ์–ดํ•œ ์…€(SSH)๊ณผ ์‹œํ์–ดํ•˜์ง€ ์•Š์€ ์…€(RSH)์ด๋‹ค. rsh๋Š” ์•”ํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ทธ๊ฑธ ๊ทธ๋Œ€๋กœ ๋„คํŠธ์›Œํฌ์— ๋‚ด๋ณด๋‚ธ๋‹ค. ๊ทธ๋ž˜์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฐ์‹œํ•˜๋‹ค๋ณด๋ฉด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์˜ ์•”ํ˜ธ๋ฅผ ๋ชจ์„ ์ˆ˜๋„ ์žˆ๊ณ  rsh ๊ฒฝ์œ ๋กœ ๋ณด๊ณ  ์žˆ๋Š” ํŒŒ์ผ ๋‚ด์šฉ๋„ ๋“ค์—ฌ๋‹ค๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ํ†ต์‹ ์„ ๋ชจ๋‘ ์•”ํ˜ธํ™”ํ•ด์„œ ์•ˆ์ „ํ•œ ์…€๋กœ ๊ฐ€๊ฒŒํ•˜๋Š” SSH๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด๋‹ค.

 

ํ•œํŽธ, OpenSSH ๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ์›๊ฒฉ ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•˜๊ณ  ์ œ์–ด ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๐Ÿ“ wiki ๋ฐฑ๊ณผ
OpenSSH๋Š” ์‹œํ์–ด ์…ธ ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”๋œ ํ†ต์‹  ์„ธ์…˜์„ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ์— ์ œ๊ณตํ•˜๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ์ž„์ด๋‹ค. SSH ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์Šค ์‹œํ๋ฆฌํ‹ฐ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์œ  ์‹œํ์–ด ์…ธ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ๊ตฐ์„ ๋Œ€์ฒดํ•  ๋ชฉ์ ์œผ๋กœ ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. 

 

SSH์˜ ์šฉ๋„ & ์ด์ 

  • ๋‹ค๋ฅธ pc์— ๋„คํŠธ์›ŒํŠธ ๊ฒฝ์œ ๋กœ ๋กœ๊ทธ์ธํ•ด์„œ ์ž๊ธฐ ์•ž์— ์žˆ๋Š” pc์ฒ˜๋Ÿผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ†ต์‹  ๊ฒฝ๋กœ๊ฐ€ SSHํ„ฐ๋„ ์•ˆ์—์„œ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•˜๊ณ , ip์ฃผ์†Œ๋งŒ ์•Œ๋ฉด ๋ฆฌ๋ชจํŠธ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ํ˜„์žฌ ๋‚ด pc๋„ ์–ด๋”˜๊ฐ€์˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์–˜๊ธด๋ฐ, SSH์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋˜์–ด ์žˆ๋‹ค๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ทธ๋ž˜์„œ ๋ณดํ†ต ๋ช‡๊ฐ€์ง€ ์ œ์•ฝ์„ ๋‘๊ณ  ์šด์šฉํ•œ๋‹ค. -> chmod๋ฅผ ์ด์šฉํ•œ ๊ถŒํ•œ ์„ค์ •

 

๐Ÿ“Œ SSH KEY.pem

  • Secure Shell ์ ‘์†์„ ์œ„ํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ• : SSH KEY
  • AWS ํ‚ค ํŽ˜์–ด ์ƒ์„ฑ์„ ํ†ตํ•ด EC2 ์ ‘๊ทผ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ๋•Œ ๋ฐœ๊ธ‰๋ฐ›์€ ํ‚ค.
  • ์™œ ํ‚ค ํŽ˜์–ด(key pair)? ์ด ํ‚ค๋Š” ๋น„ ๋Œ€์นญํ‚ค์ด๊ธฐ๋•Œ๋ฌธ์— ๊ฐœ์ธํ‚ค์™€ ๊ณต๊ฐœํ‚ค๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ๊ฐœ์ธํ‚ค๋Š” SSH์ ‘์†์„ ํ•˜๋ ค๋Š” ์ฃผ์ฒด์ธ ์‚ฌ์šฉ์ž(๋‚˜)์—๊ฒŒ ์ฃผ์–ด์ง€๊ณ , ๊ณต๊ฐœํ‚ค๋Š” ์ ‘์†ํ•˜๊ณ ์žํ•˜๋Š” ๋Œ€์ƒ์ธ EC2๋จธ์‹ ์— ์„ค์น˜๋œ๋‹ค. EC2๋จธ์‹ ์„ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ด ๊ณต๊ฐœํ‚ค๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. (์ž์„ธํ•œ ๊ฑด ์œ„์— ๋งํฌ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค)
  • ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๊ฒƒ์€ ๊ฐœ์ธํ‚ค๋กœ, ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๊ฒƒ์€ ๊ณต๊ฐœํ‚ค๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค๋Š” ์–˜๊ธฐ๋‹ค. 
  • ์ด ํ‚คํŽ˜์–ด๋ฅผ ์ด์šฉํ•ด์„œ ec2 ๋จธ์‹ ์„ ์ ‘์†ํ•˜๋ คํ•  ๋•Œ, 
  • ํ•ด๋‹น ํ‚คํŽ˜์–ด๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ์—์„œ "SSH -i" ๋ฅผ ์ด์šฉํ•ด SSH์— ์ ‘๊ทผํ•œ๋‹ค. ๊ฐœ์ธํ‚ค๋ฅผ ์ด์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด"-i"๋‹ค.
"ssh -i ./ํ‚คํŽ˜์–ด์ด๋ฆ„.pem ubuntu@ํผ๋ธ”๋ฆญipv4์ฃผ์†Œ"
  • ํ‚คํŽ˜์–ด ์ด๋ฆ„ ์˜†์— .pem ์€ ํ‚คํŽ˜์–ด ์ƒ์„ฑ์‹œ ์„ค์ •ํ•œ ํ‚ค ํ˜•์‹์ด๋‹ค.
    1. ํ”„๋ผ์ด๋น— ํ‚ค ํŒŒ์ผ ํ˜•์‹(Private key file format)์—์„œ ํ”„๋ผ์ด๋น— ํ‚ค๋ฅผ ์ €์žฅํ•  ํ˜•์‹์„ ์„ ํƒํ•œ๋‹ค. OpenSSH์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ํ”„๋ผ์ด๋น— ํ‚ค๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด pem์„ ์„ ํƒํ•œ๋‹ค. PuTTY์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ํ”„๋ผ์ด๋น— ํ‚ค๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด ppk๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
๐Ÿ“ wiki ๋ฐฑ๊ณผ
PuTTY๋Š” SSH, ํ…”๋„ท, rlogin, raw TCP๋ฅผ ์œ„ํ•œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋™์ž‘ํ•˜๋Š” ์ž์œ  ๋ฐ ์˜คํ”ˆ ์†Œ์Šค ๋‹จ๋ง ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.
    1. ํ‚ค ํŽ˜์–ด ์œ ํ˜•(Key pair type)์—์„œ RSA ๋˜๋Š” ED25519๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ED25519 ํ‚ค๋Š” Windows ์ธ์Šคํ„ด์Šค, EC2 ์ธ์Šคํ„ด์Šค Connect ๋˜๋Š” EC2 ์ง๋ ฌ ์ฝ˜์†”์—์„œ ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ์–ด์จŒ๋“  ์ด SSH ํ‚ค๋กœ EC2์— ์ ‘์†ํ•˜๋ คํ•  ๋•Œ ๊ณต๊ฐœํ‚ค์— ๋Œ€ํ•œ ํผ๋ฏธ์…˜์ด ๋””๋‚˜์ด๋“œ ๋œ๋‹ค. ( permission denied )
  • ์™œ๋ƒ๋ฉด SSH๋Š” ๋ณด์•ˆํ‚ค๋กœ ๊ต‰์žฅํžˆ ์ค‘์š”ํ•œ ํ‚ค์ด๊ธฐ๋•Œ๋ฌธ์— ์ด ํ‚ค๋ฅผ ์ตœ์†Œ๊ถŒํ•œ์œผ๋กœ ์„ค์ •ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ SSH์ ‘์†์‹œ ํ•ด๋‹นํ‚ค๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ์ธํ‚ค ํŒŒ์ผ์— ๋Œ€ํ•ด ์ตœ์†Œ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ฃผ์ž.

 

 

๐Ÿ“Œ chmod (change mode)

  • ๋ฆฌ๋ˆ…์Šค(Linux)๋Š” ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ€ํ‹ฐ์œ ์ € ์šด์˜์ฒด์ œ(OS)์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ถŒํ•œ ๊ด€๋ฆฌ๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์†Œ์œ ๊ถŒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํžŒ ์ด์œ ๋‹ค.
  • macOS ๋˜๋Š” Linux ์ปดํ“จํ„ฐ์—์„œ SSH ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž๋งŒ ํ”„๋ผ์ด๋น— ํ‚ค ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ํ•ด๋‹น ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค.
  • ๊ฐœ์ธํ‚ค๋Š” ์†Œ์œ ์ž์— ๋Œ€ํ•ด์„œ ์ฝ๊ธฐ ์“ฐ๊ธฐ ๊ถŒํ•œ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๊ถŒํ•œ์„ ์—†์• ์ฃผ์–ด์•ผํ•œ๋‹ค.
  • ๊ทธ๋Ÿด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ chmod ๋‹ค.
  • chmod๋Š” change mode์˜ ์ถ•์•ฝ์–ด๋กœ, ๋Œ€์ƒ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์‚ฌ์šฉ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • rw-r—r ์—์„œ ์ˆœ์„œ๋Œ€๋กœ ์†Œ์œ ์ž, ๊ทธ๋ฃน, ์ œ ์‚ผ์ž์˜ ๊ถŒํ•œ์ด๋‹ค. ์ด๊ฑด ๊ฐœ์ธํ‚ค๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ์—์„œ ls -l ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  • ls -l ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๊ถŒํ•œ(ํผ๋ฏธ์…˜, ํ—ˆ๊ฐ€๊ถŒ)์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

rwxr-xr-x  pi pi 5720 Jul 3 20:06 a.out

ํŒŒ์ผ์˜ ๊ถŒํ•œ์€ '-rwxr-xr-x'์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ 
์†Œ์œ ๊ถŒ์€ 'pi pi'์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
์•ž์— ์žˆ๋Š” pi๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ๋’ค์— ์žˆ๋Š” pi๋Š” ๊ทธ๋ฃน์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

rwx r-x r-x
์œ„ ์ •๋ณด๋Š” 4๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.
ํŒŒ์ผ(-), ๋””๋ ‰ํ† ๋ฆฌ(d)๋ฅผ ๊ตฌ๋ถ„

rwx  ์‚ฌ์šฉ์ž(owner, ์†Œ์œ ์ž) ๊ถŒํ•œ(ํผ๋ฏธ์…˜)
r-x  ๊ทธ๋ฃน(group) ๊ถŒํ•œ
r-x  ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž(other) ๊ถŒํ•œ

rwx๋Š” ๊ฐ๊ฐ ์ฝ๊ธฐ(read), ์“ฐ๊ธฐ(write), ์‹คํ–‰(execute) ๊ถŒํ•œ
r์€ ํŒŒ์ผ ์ฝ๊ธฐ = 4
w๋Š” ํŒŒ์ผ ์“ฐ๊ธฐ = 2
x๋Š” ํŒŒ์ผ ์‹คํ–‰ = 1
chmod g+w test.c : ๊ทธ๋ฃน์— ์“ฐ๊ธฐ ๊ถŒํ•œ์„ ์ค€๋‹ค.
chmod o-r test.c : ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฝ๊ธฐ ๊ถŒํ•œ์„ ๋นผ์•—๋Š”๋‹ค.

๐Ÿ“ u ์‚ฌ์šฉ์ž, g ๊ทธ๋ฃน, o ๋‹ค๋ฅธ์‚ฌ์šฉ์ž, a ์ „๋ถ€์—๊ฒŒ ๊ถŒํ•œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ 
๋”ํ•˜๊ธฐ(+)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ๋นผ๊ธฐ(-)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ์„ ์ œ๊ฑฐํ•  ์ˆ˜์žˆ๋‹ค. 

 

 

๐Ÿ“ ๊ทผ๋ฐ ์ด ๋ฐฉ์‹์€ ์ข€ ๋ฒˆ๊ฑฐ๋กญ๊ฒŒ ๋Š๊ปด์ง„๋‹ค. ๋” ์‰ฝ๊ฒŒ ๊ถŒํ•œ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž

 

 

๐Ÿ“ ์ˆซ์ž๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ํ•œ๋ฒˆ์— ์ง€์ •ํ•ด๋ณด์ž.

chmod 000 test.pem
์‚ฌ์šฉ์ž, ๊ทธ๋ฃน, ๋‹ค๋ฅธ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ๊ถŒํ•œ์„ ์ œ๊ฑฐํ•œ๋‹ค.

chmod 777 test.pem
์‚ฌ์šฉ์ž, ๊ทธ๋ฃน, ๋‹ค๋ฅธ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

chmod 700 test.pem
์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ๋ชจ๋“  ๊ถŒํ•œ์„ ์ค€๋‹ค.

chmod 744 test.pem
์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋ชจ๋“  ๊ถŒํ•œ์„ ์ฃผ๊ณ , ๊ทธ๋ฃน, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ฝ๊ธฐ ๊ถŒํ•œ๋งŒ ์ค€๋‹ค.

 

๋‚˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฝ๊ธฐ, ์“ฐ๊ธฐ ๊ถŒํ•œ๋งŒ ํ• ๋‹นํ•˜๊ธฐ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค.

chmod 600 ํ‚คํŽ˜์–ด์ด๋ฆ„.pem

 

์—ฌ๊ธฐ๊นŒ์ง€ ๊ถŒํ•œ ์„ค์ •์„ ๋งˆ์ณค๋‹ค๋ฉด ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ๋‹ค์‹œ ์ ‘์†ํ•ด๋ณด์ž :)