๐Ÿค– Backend/Cloud

NCP Server์— pem key๋กœ ssh ์ ‘์†ํ•˜๊ธฐ - Permission denied (publickey)

sckwon770 2024. 2. 22. 22:22
์ด์ „ Velog์˜ NCP Server์— pem key๋กœ ssh ์ ‘์†ํ•˜๊ธฐ - Permission denied (publickey) (2023.12.07) ๋กœ๋ถ€ํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

๋™๊ธฐ

AWS์—์„œ๋Š” SSH๋ฅผ ๊ถŒ์žฅํ•˜์ง€ ์•Š๊ณ  AWS Session Manager๋ฅผ ์“ฐ๋„๋ก ๊ถŒ์žฅํ•˜์ง€๋งŒ, CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ๋‚˜์„œ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋Œ€๊ฒŒ ๊ธด๊ธ‰ํ•œ ๊ฒฝ์šฐ๋ผ AWS ๋กœ๊ทธ์ธ โžก MFA โžก EC2 Console โžก Session Manager... ๋ށ์Šค๊ฐ€ ๋„ˆ๋ฌด ๊นŠ์–ด์„œ ๊ท€์ฐฎ๋‹ค...

๊ทธ๋ž˜์„œ ๊ทธ๋‚˜๋งˆ SSH๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€
1. 22๋ฒˆ ์™ธ์˜ ํฌํŠธ๋ฅผ SSH ์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ 
2. SSH Authentication์„ ์ฒ ์ €ํžˆ ์„ค์ •ํ•œ๋‹ค.

2 ๋ฒˆ์˜ ๊ฒฝ์šฐ ๋Œ€๊ฒŒ pem key๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ, NCP Server์˜ SSH pem key ์„ค์ •ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ฐฉ๊ฐํ•ด์„œ ํ—ค๋งจ ๊ฒƒ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์–ด๋ณธ๋‹ค.

 


ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

AWS EC2

AWS EC2์˜ ๊ฒฝ์šฐ, ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์—์„œ Key pair๋ฅผ ์„ค์ •ํ•˜๋ฉด ํ•ด๋‹น pem key๋กœ SSH ์ ‘์† ๊ฐ€๋Šฅํ•˜๋„๋ก ์ž๋™์œผ๋กœ ์„ธํŒ…๋œ๋‹ค.

 

 

NCP Server

๊ทธ๋ž˜์„œ NCP๋„ ์ž๋™์œผ๋กœ ์„ธํŒ…๋˜๋Š” ์ค„ ์•Œ๊ณ  ๊ณ„์† ํ—ค๋งธ๋‹ค... ์‚ฌ์‹ค ํšŒ์ƒ‰ ์ž‘์€ ๊ธ€์”จ๋กœ ์šฉ๋„๊ฐ€ ์ ํ˜€์žˆ๊ธดํ•œ๋ฐ, pem key ํ™•์žฅ์ž์ด๋‹ค ๋ณด๋‹ˆ SSH ์ ‘์† ์šฉ๋„๋กœ๋„ ์“ฐ๋ผ๋Š” ๊ฒƒ์ธ์ค„ ์•Œ์•˜๋‹ค.

 

์ด pem key๋กœ SSH ์ ‘์†์„ ์‹œ๋„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

$ Permission denied (publickey)

 

Permission denied์— ๊ฝ‚ํ˜€ ๋งŽ์€ ์‚ฝ์งˆ์„ ํ–ˆ์ง€๋งŒ, ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์ค€ ๋‹ค์Œ์˜ ๊ธ€์„ ์ฝ๊ณ  ๋‹ค๋ฅธ ๊ณณ๋ถ€ํ„ฐ ์›์ธ์„ ์ฐพ์•„๊ฐ€๋‹ค๋ณด๋‹ˆ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. ์„œ๋ฒ„ ์ƒ์„ฑํ•  ๋•Œ ๋งŒ๋“  ์ธ์ฆํ‚ค๋Š” ๊ด€๋ฆฌ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธํ• ๋•Œ๋‚˜ ์“ฐ๋Š” ๊ฒƒ์ด๊ณ , SSH ์ ‘์†ํ• ๋ ค๋ฉด ์šฐ๋ถ„ํˆฌ ์„œ๋ฒ„์— ์„ธํŒ…์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

 

SSH Pem key ์„ธํŒ…

  • ๋กœ์ปฌ์—์„œ RSAํ‚ค ์ƒ์„ฑ
$ ssh-keygen -t rsa -b 2048 -f KEY_NAME

 

 

  • ์„œ๋ฒ„์—์„œ authorized_keys ํŒŒ์ผ ์ƒ์„ฑ
$ mkdir ~/.ssh/
$ chmod 700 ~/.ssh/
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
  • ์ƒ์„ฑํ•œ public key ๋ณต์‚ฌ
$ cat KEY_NAME.pub

  • ์„œ๋ฒ„์˜ authorized_keys์— ๋ถ™์—ฌ๋„ฃ๊ธฐ
$ vim ~/.ssh/authorized_keys
$ ํ‚ค ์ง์ ‘ ๋ถ™์—ฌ๋„ฃ๊ธฐ
  • ํด๋ผ์ด์–ธํŠธ์— ์ƒ์„ฑํ•œ ํ‚ค๋ฅผ Pem key๋กœ ๋ณ€๊ฒฝ
$ mv KEY_NAME KEY_NAME.pem
$ ssh -i KEY_NAME.pem ubuntu@10.0.0.1

๋!