1. SSH (Secure Shell)
SSH๋ Secure Shell์ ์ฝ์๋ก, ๋คํธ์ํฌ๋ฅผ ํตํด ์์ ํ๊ฒ ์ปดํจํฐ์ ์๊ฒฉ ์ ์ํ๊ธฐ ์ํ ํ๋กํ ์ฝ
โถ ์ํธํ๋ ํต์ : ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ ์กํ๊ธฐ ๋๋ฌธ์ ๋์ฒญ์ด๋ ๋ฐ์ดํฐ ๋ณ์กฐ๋ฅผ ๋ฐฉ์ง.
โถ ์๊ฒฉ ์๋ฒ ๊ด๋ฆฌ: AWS EC2 ๊ฐ์ ์๋ฒ์ ์ ์ํด์ ๋ช
๋ น์ด๋ฅผ ์คํํ๊ฑฐ๋ ํ์ผ์ ๊ด๋ฆฌํ ์ ์๋ค.
โถ AWS์์ SSH๋ ๋ณดํต ํฐ๋ฏธ๋์ด๋ ๋ช
๋ น์ด ์ฐฝ(CLI)์์ ์คํํ๋ ๋ช
๋ น์ด๋ฅผ ํตํด ์ฌ์ฉ๋๋๋ฐ, ์๋์ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค.
ssh -i "your-key.pem" ec2-user@your-ec2-ip
2. 3 Ways to connect to EC2 Instance
- SSH
- PuTTY
- EC2 Instance Connect
๐ If one method works (SSH, PuTTY or EC2 Instance Connect) you're good!
[SSH Summary Table]
โถ Mac / Linux / Windows10 ์ด์์์๋ SSH ๋ฅผ ์ฌ์ฉํ๋ค.
โถ SSH๋ฅผ ์ฌ์ฉํด์ผ ํ ๋ Windows ์์๋ PuTTY ๋ฅผ ์ฌ์ฉํ๋ค.
โถ EC2 Instance Connection
๐ก PuTTY
PuTTY๋ SSH๋ฅผ ์ฌ์ฉํด ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์๋ ์ํํธ์จ์ด๋ก ๋ชจ๋ ๋ฒ์ ์ Windows์์ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
์ฝ๊ฒ ๋งํ๋ฉด, GUI ํ๊ฒฝ์์ SSH๋ฅผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ํด์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์๋์ฐ์์ SSH ํ๋กํ ์ฝ์ ์ฌ์ฉํด EC2 ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋๋ก ๋์์ค๋ค.
AWS์์ PuTTY ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
AWS์์ ์ ๊ณตํ .pem ํ์ผ(ํค ํ์ผ)์ .ppk ํ์ผ๋ก ๋ณํ (PuTTYgen ์ฌ์ฉ)
PuTTY์์ AWS ์๋ฒ์ IP์ ํฌํธ๋ฅผ ์
๋ ฅํ๊ณ ์ฐ๊ฒฐํ๊ธฐ
๐ก EC2 Instance Connection
AWS์ EC2 Instance Connect๋ SSH๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก EC2 ์ธ์คํด์ค์ ์ ์ํ ์ ์๋๋ก ํด์ฃผ๋ AWS์ ์น ๊ธฐ๋ฐ ์๋น์ค์ด๋ค.
EC2 Instance Connect์ ํน์ง
โถ ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก ์ฐ๊ฒฐ ๊ฐ๋ฅ
๋ฐ๋ก SSH ํด๋ผ์ด์ธํธ(PuTTY๋ ํฐ๋ฏธ๋)๋ฅผ ์ค์นํ ํ์ ์์ด AWS Management Console์์ ๋ฐ๋ก ์ธ์คํด์ค์ ์ ์ ๊ฐ๋ฅ.
AWS ์ฝ์์ "Connect" ๋ฒํผ์ ๋๋ฅด๋ฉด ์น ๊ธฐ๋ฐ ํฐ๋ฏธ๋์ด ์ด๋ฆฐ๋ค.
โถ ์์ ํค๋ก ์ฐ๊ฒฐ
EC2 Instance Connect๋ ์์ SSH ํค๋ฅผ ์์ฑํด์ ์ฐ๊ฒฐํ๋ฏ๋ก, ๋ณ๋์ .pem ํ์ผ(ํค ํ์ผ)์ ๊ด๋ฆฌํ์ง ์์๋ ๋๋ค.
AWS๊ฐ ์ฐ๊ฒฐ์ ํ์ํ ์ธ์ฆ ๊ณผ์ ์ ์์์ ์ฒ๋ฆฌํด ์ค๋ค.
โถ ๋ณด์ ๊ทธ๋ฃน ์ค์ ํ์
EC2์ ๋ณด์ ๊ทธ๋ฃน(Security Group)์์ 22๋ฒ ํฌํธ(SSH)๊ฐ ์ด๋ ค ์์ด์ผ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
โถ ์ด์์ฒด์ ์ ํ
EC2 Instance Connect๋ Amazon Linux์ Ubuntu์์๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋๋ค.
๋ค๋ฅธ OS๋ฅผ ์ฌ์ฉํ๋ฉด SSH ์ฐ๊ฒฐ ๋ฐฉ์๋ง ๊ฐ๋ฅํ๋ค.
EC2 Instance Connect
AWS ์ฝ์ ์ ์ > AWS Management Console > EC2 ๋์๋ณด๋ > ์ฐ๊ฒฐํ๋ ค๋ EC2 ์ธ์คํด์ค๋ฅผ ์ ํ > ์๋จ์ Connect ๋ฒํผ ํด๋ฆญ > EC2 Instance Connect (browser-based SSH) ์ฐ๊ฒฐ ์ต์ ์์ "EC2 Instance Connect"๋ฅผ ์ ํํ๊ณ Connect ๋ฒํผ์ ํด๋ฆญ > ์ฐ๊ฒฐ์ด ์๋ฃ๋๋ฉด ๋ธ๋ผ์ฐ์ ์ ํฐ๋ฏธ๋์ด ๋ํ๋์ ๋ฐ๋ก ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ ์ ์๋ค.
โญ EC2 Instance Connect vs. SSH (or PuTTY)
ํน์ง | EC2 Instance Connect | SSH/PuTTY |
์ค์น ํ์ ์ฌ๋ถ | ๋ธ๋ผ์ฐ์ ๋ง ์์ผ๋ฉด ๋จ | SSH ํด๋ผ์ด์ธํธ ์ค์น ํ์ |
์ ๊ทผ์ฑ | AWS ์ฝ์์์ ๋ฐ๋ก ์ ์ ๊ฐ๋ฅ | AWS ์ฝ์ ์ธ์ SSH ํค๊ฐ ํ์ |
ํค ํ์ผ ๊ด๋ฆฌ | ๊ด๋ฆฌ ํ์ ์์ | .pem ๋๋ .ppk ํค ํ์ผ ํ์ |
์ง์ OS | Amazon Linux2, Ubuntu๋ง ๊ธฐ๋ณธ ์ง์ | ๋ชจ๋ OS ์ง์ ๊ฐ๋ฅ |
ํ์ฉ๋ | ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด ์์ ์ ์ ํฉ | ๊ณ ๊ธ ์์ , ํ์ผ ์ ์ก ๋ฑ ๊ฐ๋ฅ |
3. How to SSH into your EC2 Instance (Windows 10)
โถ SSH is one of the most important function. It allows you to control a remote machine, all using the command line.
์๋์ฐ 10 ์ด์์์๋ PuTTY ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ SSH ๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค.
PuTTY ์์ด ๊ฐ๋ฅํ์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ช ๋ น ํ๋กฌํํธ๋ PowerShell๋ฅผ ์ด์ด์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด๋ณด์.
ssh
์์ ๊ฐ์ ์ฐฝ์ด ๋จ๋ฉด PuTTY๊ฐ ํ์ ์๋ค.
1. AWS์์ ๋ฐ๊ธ๋ฐ์ EC2 Tutoral ์ ์ค๋นํ๋ค.
2. ํ์ผ๋ช ์ ๋์ด์ฐ๊ธฐ๋ฅผ ์ ๊ฑฐํ๋ค.
3. pem ํ์ผ์ด ์๋ ๋๋ ํฐ๋ฆฌ๋ก ๊ฐ๊ธฐ
4. ๋ณด์ ๊ทธ ๋ฃน์์ 22๋ฒ ํฌํธ๊ฐ SSH์ ๋ํด ์ด๋ ค ์๋์ง ํ์ธํ๊ธฐ
EC2 Dashboard > Instances > Security
5. PowerShell ์ SSH ๋ช ๋ น์ด ์ ๋ ฅ
ssh -i "your-key.pem" ec2-user@your-ec2-ip
[์์]
ssh -i .\EC2Tutorial.pem ec2-user@54.66.147.18
EC2 ์ธ์คํด์ค์ ๊ณต์ฉIP ํ์ธ๋ฒ โผ
๐ฅ SSH ๋ช ๋ น์ด ์คํํ ๋ ๋ฐ์ํ๋ ๊ถํ ๋ฌธ์ ํด๊ฒฐ๋ฒ
ํ์ฌ ๊ถํ ๋ฌธ์ ๊ฐ ์๊ฒจ์ yes / no ๋ฅผ ์ ํํ๋ผ๋ ๋ฉ์ธ์ง๊ฐ ๋ฌ๋ค.
์ด ๋ฉ์ธ์ง๊ฐ ์ ๋จ๊ฒ ํด๊ฒฐ ํด ๋ณด์.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '54.66.147.18' (ED25519) to the list of known hosts.
.pem ํ์ผ ์ฐํด๋ฆญ > ์์ฑ > ๋ณด์ํญ > ๊ณ ๊ธ > ๋ณ๊ฒฝ
์ฐพ์ ์์น๊ฐ ๋ด ์ปดํจํฐ์ธ์ง ํ์ธ ํ Owner ์ด๋ฆ ์ ๋ ฅํ๊ธฐ > ํ์ธ
๊ทธ๋ผ ๋ณด์ ์ฃผ์ฒด์ ์ถ๊ฐํ ์ด๋ฆ์ด ๋์จ๋ค.
ํ์ง๋ง `SYSTEM` ๊ณผ `Administrator` ์ ์ ๊ทผ๊ถ์ ๊ฐ์ง ํ์๊ฐ ์๋ค.
๋ฐ๋ผ์ ์ ๋ ๊ฐ๋ `์ ๊ฑฐ(R)`ํ๊ณ `์์ ์ฌ์ฉ ์ํจ(I)` ๋ฒํผ์ ๋๋ฌ์ ๋ชจ๋ ์์๋ ๊ถํ ์ ๊ฑฐํ๊ธฐ
์ฌ๊ธฐ๊น์ง ํ์ผ๋ฉด `์ถ๊ฐ(D)` > ๋ณด์ ์ฃผ์ฒด ์ ํ > ๊ฐ์ฒด ์ด๋ฆ ์ ๋ ฅ > ์ด๋ฆํ์ธ > ๋ชจ๋ ๊ถํ์ ์ฒดํฌ
๊ทธ๋ผ ์๋์ฒ๋ผ ์ด์ .pem ํ์ผ์ ์์ ์๋ ๋ด ์์ ์ด๊ณ , ํ์ผ์ ์์ ํ๋ ๋ณด์์ฃผ์ฒด(principal)๋ ๋ด ์์ ์ด ๋๋ค.
ํ์ธํ๋ ๋ฒ
`.pem` ํ์ผ ๋ง์ฐ์ค ์ฐํด๋ฆญ > [์์ฑ] > [๋ณด์]
์ด์ SYSTEM ์ด๋ Administrator ์ ์๊ณ ๋ด ์์ ๋ง ์๋ ๊ฑธ ํ์ธ ํ ์ ์๋ค.
๋ค์ ํ ๋ฒ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅ ํด ๋ณด๋ฉด ๊ถํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๊ณ yes/ no ๋ฅผ ๋ฌป๋ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ ํ์๋์ง ์๋๋ค.
๐ฅ ๋ณด์ ์ฃผ์ฒด๋ช ์ ๋ ฅํ ๋ ์ฃผ์์ฌํญ
1. ๋ก์ปฌ ์ฌ์ฉ์ ๊ณ์ ์ผ ๊ฒฝ์ฐ
๊ฒ์ํ ์์ ์ด ๋ก์ปฌ ์ฌ์ฉ์ ๊ณ์ ์ด๋ผ๋ฉด, ํด๋น ๊ณ์ ์ ์ด๋ฆ(username) ๊ทธ๋๋ก ๊ฒ์ ํ๋ฉด ๋๋ค.
๋ก์ปฌ ์ฌ์ฉ์ ์ด๋ฆ์ด DainChoi๋ผ๋ฉด DainChoi ์ ๋ ฅ.
โ
์ฌ์ฉ์ ์ด๋ฆ ํ์ธ ๋ฐฉ๋ฒ
๋ก์ปฌ ์ฌ์ฉ์ ๊ณ์ ์ ํ์ธํ๋ ค๋ฉด PowerShell์์ ์๋ ๋ช
๋ น์ด ์
๋ ฅ
Get-LocalUser
์ฌ๊ธฐ์ ๋ํ๋ ๊ณ์ ์ด๋ฆ์ ๊ทธ๋๋ก ์ ๋ ฅํ๋ฉด ๋๋ค.
Get-LocalUser ๋ช ๋ น์ด๋ ๋ก์ปฌ ์ปดํจํฐ์ ์์ฑ๋ ๋ก์ปฌ ๊ณ์ ๋ง ๋์ดํ๋ค.
ํ์ง๋ง ์ฌ์ฉํ๋ ๊ณ์ ์ด Microsoft ๊ณ์ ์ด๋ผ๋ฉด ๋ก์ปฌ ๊ณ์ ์ด ์๋๋ผ ํด๋ผ์ฐ๋ ๊ณ์ ์ผ๋ก ์ทจ๊ธ๋๊ธฐ ๋๋ฌธ์ ์ด ๋ช ๋ น์ด๋ก๋ ์กฐํ๊ฐ ๋์ง ์๋๋ค.
2. ๋๋ฉ์ธ ๊ณ์ ์ผ ๊ฒฝ์ฐ
๋๋ฉ์ธ ํ๊ฒฝ์์ Dain Choi๋ฅผ ๊ฒ์ํ๋ ค๋ฉด, ๋๋ฉ์ธ ์ด๋ฆ\์ฌ์ฉ์ ์ด๋ฆ ํ์์ผ๋ก ์
๋ ฅํด์ผ ํ๋ค.
๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ(Active Directory)์ ์ฐ๊ฒฐ๋์ด ์์ด์ผ ์๋ํ๋ค.
DOMAINNAME\DainChoi
3. Microsoft ๊ณ์ (MSA)์ผ ๊ฒฝ์ฐ
awesomepossumgirl1@gmail.com์ฒ๋ผ Microsoft ๊ณ์ ์ด๋ฉ์ผ๋ก ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ๋ ค๋ ๊ฒฝ์ฐ์๋, ์ด๋ฉ์ผ ์ฃผ์ ์์ฒด๋ฅผ ์
๋ ฅํด์ผ ํ๋ค.
์ ๋ ฅ ํ ์ด๋ฆ ํ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ผ๋ก ๊ฐ์ฒด๋ช ์ด ์ธ์๋๋ค.
โถ Microsoft ๊ณ์ ๋ฉ์ผ์ฃผ์ ์กฐํํ๋ ๋ฒ
- `Windows + I` ๋จ์ถํค๋ก ์ค์ ์ฑ์ ์ด๋ฉด ์๋จ์ ๊ณ์ ๋ช ๊ณผ ๋ฉ์ผ์ฃผ์๊ฐ ํ์๋จ
๋๊ฐ๊ธฐ ๋ช ๋ น์ด
exit
(๋๋ Ctrl + Z)