EC2 SSH ์ ๊ทผ ์ ์ด ์คํจ ํด๊ฒฐ์ ํตํ ๋ณต๊ตฌ ์๊ฐ 6์๊ฐ ๋จ์ถ
๐ง AWS EC2 SSH permission denied fix Ubuntu โ common mistakes and how to resolve them
AI ์์ฝ
Context
AWS EC2 Ubuntu ์ธ์คํด์ค ์ ์ ์ ๋ฐ์ํ๋ 'Permission denied (publickey)' ์๋ฌ์ ๋ค๊ฐ๋ ์์ธ ๋ถ์. ๋จ์ ํค ์ค๋ฅ๋ฅผ ๋์ด ํ์ผ ๊ถํ, ์ฌ์ฉ์ ๊ณ์ ๋ถ์ผ์น, ๋คํธ์ํฌ ๋ณด์ ๊ทธ๋ฃน ์ค์ ๋ฑ ๋ณตํฉ์ ์ธ ์ ์ฝ ์ฌํญ์ผ๋ก ์ธํ ์ ์ ๋ถ๊ฐ ์ํฉ์ ๋ค๋ฃธ.
Technical Solution
- Private Key ๋ณด์ ๊ฐํ๋ฅผ ์ํด chmod 400 ์ค์ ์ ํตํ ์์ ์ ์ธ ์ ๊ทผ ์ฐจ๋จ ๊ตฌ์กฐ ์ ์ฉ
- Key ๋ถ์ค ์ EBS Volume์ Rescue Instance์ ๋ง์ดํธํ์ฌ ~/.ssh/authorized_keys๋ฅผ ์ง์ ์์ ํ๋ ๋ณต๊ตฌ ํ๋ก์ธ์ค ์ค๊ณ
- AMI๋ณ ๊ธฐ๋ณธ ์ฌ์ฉ์ ๊ณ์ (Ubuntu vs ec2-user) ์๋ณ์ ํตํ ์ธ์ฆ ์์ฒญ ๊ฒฝ๋ก ์ต์ ํ
- EC2 Instance Connect ๋์ ์ ํตํ API ๊ธฐ๋ฐ ์์ Key ํธ์ ๋ฐฉ์์ผ๋ก ๊ณ ์ Key ๊ด๋ฆฌ ๋ฆฌ์คํฌ ์ ๊ฑฐ
- Security Group์ Inbound TCP 22 ํฌํธ ๊ฐ๋ฐฉ ์ฌ๋ถ์ telnet ๊ธฐ๋ฐ์ ๋คํธ์ํฌ ๊ณ์ธต ์ฐ๊ฒฐ์ฑ ๊ฒ์ฆ
- /var/log/auth.log ์ค์๊ฐ ๋ชจ๋ํฐ๋ง์ ํตํ SSH Daemon์ ์ธ์ฆ ๊ฑฐ๋ถ ์ฌ์ ์ ๋ฐ ๋ถ์
์ค์ฒ ํฌ์ธํธ
1. .pem ํ์ผ ๊ถํ์ด 400(Read-only for owner)์ธ์ง ํ์ธ
2. Ubuntu AMI ์ฌ์ฉ ์ ์ ์ ๊ณ์ ์ 'ubuntu'๋ก ์ค์ ํ๋์ง ๊ฒ์ฆ
3. Security Group์์ ํ์ฌ IP์ 22๋ฒ ํฌํธ ํ์ฉ ์ฌ๋ถ ํ์ธ
4. telnet์ผ๋ก ๋คํธ์ํฌ ์ฐ๊ฒฐ์ฑ์ ๋จผ์ ํ์ธ ํ SSH ํค ๊ฒ์ฆ ์ํ
5. /var/log/auth.log๋ฅผ ํตํด SSHD์ ๊ตฌ์ฒด์ ์ธ ๊ฑฐ๋ถ ์ฌ์ ํ์