[E] VSCode๋ก VMware + CentOS 8 ํ๊ฒฝ SSH ์ ์ ๋ถ๊ฐ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
VMware + CentOS 8 ํ๊ฒฝ์ VSCode๋ก SSH ์ ์์ ํด์ ์ ์ฐ๊ณ ์์๋๋ฐ, ์๋ฒ๋ฅผ ๋ค์ ์์ฑํ ํ๋ก SSH ์ ์์ด ์๋๊ธธ๋ .. ์ค๋ฅ ๋ฐ์ ์ถ์ ์์ธ์ด ๋๋ฌด ๋ง์์ ์ด๊ฒ์ ๊ฒ ๋ค ๋ง์ ธ๋ดค๋๋ฐ ๊ฒฐ๊ตญ ๊ฐ๋จํ ๋ฌธ์ ์๋ค.
์๋ฌ ๋ฐ์ ์์ธ ์ถ์
์๊ฐํ๋ ์์ธ๋ค๋ก๋,
- ๋คํธ์ํฌ ๋ฐฉํ๋ฒฝ ๋ฌธ์
- Openssh ๋ฏธ์ค์น
- openssh-server ํจํค์ง ๋ฏธ์ค์น
- ssh ๋๋ sshd๊ฐ down๋ ์ํ
- SSH ํฌํธ(22๋ฒ)๊ฐ ์ด๋ ค์์ง ์์
- IP ๋ฏธํ ๋น ๋๋ ๊ณ ์ IP๊ฐ ์ค์ ๋์ด ์์ง ์์
- GateWay, SubNet ๋ฑ ๋คํธ์ํฌ ์ค์ ๋ฌธ์
- root ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ถํ ๋ฏธ๋ถ์ฌ
- VSCode ๋ฌธ์
์ด๊ฑฐ ๋ง๊ณ ๋ ๋ ์๋๋ฐ .. ์๋ฌดํผ ๋๋ฌด ๋ง์ง๋ง ์ด์ฐจํผ ํด์ผ ํ๋ ์์ ์ด๋ ํ๋์ฉ ์๋ํด๋ณด์๋ค.
๋ฐ์ ์์ธ ๋ฐ ํด๊ฒฐ ๊ณผ์
1) ๋คํธ์ํฌ ๋ฐฉํ๋ฒฝ ๋ฌธ์
์ด์ ์ ์ ์ฌ์ฉํ์๋๋ฐ ์๋ฒ ์ฌ์์ฑ ํ ์๋๋ ๊ฑฐ๋ผ ๋ฐฉํ๋ฒฝ ๋ฌธ์ ๋ ์๋๋ฏํ์ฌ ํจ์ค.
์ฌ์ง์ด localhost(127.0.0.1)๋ก ์ ์๋ง ์ํ๋ค๋ฟ์ด์ง ๋ก์ปฌ ์๋ฒ๋ผ ๋ฌธ์ ๊ฐ ๋์ง๋ ์์ ๊ฑฐ๋ผ ์๊ฐ๋์๋ค.
2) Openssh ๋ฏธ์ค์น
CensOS 8์ ์ค์นํ๋ฉด์ ์๋์ผ๋ก ๋ชจ๋ ์ค์น๊ฐ ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
๊ทธ ๋ฐ์ฆ์ผ๋ก, ์ด์ ์๋ฒ์์๋ ssh ์ค์น ์์ด ์ ๋์ํ์.
3) openssh-server ํจํค์ง ๋ฏธ์ค์น
์ ์ฌ์ง์์ openssh-server๋ ์ค์น๋์๋ค๊ณ ๋์ค๋ ๊ฑธ ๋ณด๋ฉด ํด๋น ๋ฌธ์ ๋ ์๋. ์ฌ์ง์ด ๋ค๋ฅธ ํจํค์ง๋ ๊ฑฐ์ ๋ค ์ค์น๋์ด ์๊ณ , ๋ถ์์ ์ธ ํจํค์ง ๋ช ๊ฐ๋ง ๋ฏธ์ค์น ์ํ์ธ๋ฐ ๋ฑํ ํ์ํด๋ณด์ด์ง ์์์ ์ค์น๋ ์ํ๋ค. ๊ฐ๋ณ๊ฒ N ์ ๋ ฅํ๊ธฐ
4) ssh ๋๋ sshd๊ฐ down๋ ์ํ
์ด๊ฒ ์ง์ง ๋ณต๋ณ์ด๋ค .. ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ์๋ ์คํ์ค์ธ ์๋น์ค ์ ๋ณด๊ฐ ๋ชจ๋ ๋์๋ ๊ฑธ๋ก ๊ธฐ์ตํ๋๋ฐ(ssh ์คํ์ค์ด๋ฉด [+] ssh ์ด๋ฐ์์ผ๋ก) ์ ๋ ฅํด๋ ์๋ฌด๋ฐ ์ถ๋ ฅ ๊ฒฐ๊ณผ๊ฐ ์๋ค.
$ service --status-all
๊ทธ๋์ ์ณ๊ฑฐ๋! ์ด๊ฒ ์์ธ์ด๊ตฌ๋! ํ๋๋ฐ...
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
ssh๋ฅผ ์๋ฌด๋ฆฌ ์ผ๋ด๋
$ sudo systemctl enable sshd
$ sudo systemctl start sshd
ํน์ ๋ชฐ๋ผ sshd๋ฅผ ์ผ๋ด๋ ์๋ฌด๋ฐ ๋ฐ์์ด ์๋ค. ๋ค์ status๋ฅผ ํ์ธํด๋ด๋ ๋ณํจ์์ด ์๋ฌด๊ฒ๋ ์ถ๋ ฅ์ด ๋์ง ์๋๋ค.
Ubuntu๋ง ์ฌ์ฉํ๋ ์ฌ๋์ด CentOS๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ํ ๋ถ๋ถ์์ ๋ค๋ฅธ ๊ฒ ๋ง์์ ์ด๊ฒ๋ ๊ทธ๋ฐ ๊ฑด๊ฐ๋ณด๋ค.. ํ๊ณ ๋ค์ ์์ธ์ผ๋ก.
5) SSH ํฌํธ(22๋ฒ)๊ฐ ์ด๋ ค์์ง ์์
์๋ ๋ช ๋ น์ด ๋ ์ค ํ๋๋ฅผ ์ ๋ ฅํ๋ฉด 22๋ฒ ํฌํธ๋ฅผ ๊ฐ๋ฐฉํ ์ ์๋ค. CentOS 7 ์ด์์ firewall์ ์ฌ์ฉํ๋ค๊ณ ๋ ํ๋๋ฐ, ๋ ๋ค ์๋ํ๊ธธ๋ ํน์ ๋ชฐ๋ผ์ ๋ ๋ค ์ ๋ ฅํด์ฃผ์๋ค. ๋ณํ ์๋ ๊ฑธ ๋ณด๋ฉด ์๋๋ ์ ์ด๋ ค์์๋ ๋ชจ์. ๊ฒฐ๋ก ์ ์ด๊ฒ๋ ์๋ (ใ ใ )
$ iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$ firewall-cmd --zone=public --add-port=22/tcp --permanent
6) IP ๋ฏธํ ๋น ๋๋ ๊ณ ์ IP๊ฐ ์ค์ ๋์ด ์์ง ์์
์ฌ๊ธฐ์ ๊ธฐ์ CentOS IP ์ค์ ๋ฒ, Linux IP ์ค์ ๋ฒ, VMware IP ์ค์ ๋ฒ์ ๋ค ์ฐพ์๋ค๊ฐ ํด๋ดค๋๋ฐ, ์ ์ด์ VMware ์๋ฒ ์ธํ ํ ๋ Host IP ๋ฐ๋ผ๊ฐ๋๋ก ๋ง๋ค์ด๋จ๊ธฐ๋ ํ๊ณ ์ ๋IP๋ ์๋๊ณ ์์ดํผ ํ ๋น๋ ์ ๋์ด์๋ ๊ฒ ๊ฐ์์ ์๋๊ตฌ๋.. ํ๋ค.
7) GateWay, SubNet ๋ฑ ๋คํธ์ํฌ ์ค์ ๋ฌธ์
๋คํธ์ํฌ ์ ๋ณด๋ฅผ ํ์ธํ์ ๋ ๊ฒ์ดํธ์จ์ด๊ฐ 0.0.0.0์ผ๋ก ๋์์ ์ค! ์ด๊ฑด๊ฐ! ํ๋๋ฐ.. ์ด๊ฒ ์ญ์ Host ์ค์ ๋ฐ๋ผ๊ฐ๊ฒ ๋์ด ์์ด์ ํ๊ธฐ๋ง ์๋์๋ ๋ชจ์. ๋คํธ์ํฌ ๋ฌธ์ ๋ ์ต์ข ์ ์ผ๋ก ์๋ ๊ฒ์ผ๋ก ํ์ธ๋์๋ค.
8) root ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ถํ ๋ฏธ๋ถ์ฌ
SSH ์ค์ ํ์ผ์ ์ด์ด์ ์ฌ๋ฌ ์ ์ ํ๊ฒฝ์ ๋ณ๊ฒฝํ ์ ์๋ค. ์ด๋ฒ์ ์ค๋ฅ ํด๊ฒฐํ๋ฉด์ ์ฒ์ ์์๋๋ฐ, ์ต์ ์ด ๊ต์ฅํ ๋ค์ํ๋ค. ๋ค๋ฅธ ๋ธ๋ก๊ทธ๋ฅผ ์ฐพ์๋ณด๋ ssh_config ํ์ผ์ ์์ ํ๋ผ๋๋ฐ, ssh_config์๋ ์ต์ ์ด ์๊ธธ๋ ๋งจ ์๋ซ์ค์ include ๋์ด์๋ sshd_config๋ฅผ ์ด์ด๋ณด๋ ์ฌ๊ธฐ์ ์ต์ ๋ค์ด ๋ค ์๋๋ผ.
- ๊ฒฝ๋ก: /etc/ssh/sshd_config
- PermitRootLogin yes
root ์ฌ์ฉ์๋ก ๋ก๊ทธ์ธํ๋ ๊ฒ์ ํ์ฉํ๋๋ ์ต์ ์ธ๋ฐ, ํ์ฉ์ผ๋ก ํด์ฃผ์ง ์์์ ๋ก๊ทธ์ธ์ด ์๋๋?ํ๊ณ yes๋ก ๋ณ๊ฒฝํ๋ คํ๋ ์ด๋ฏธ yes๋ก ๋์ด ์๋๋ผ... ์ด์ธ์ LoginGraceTime MaxAuthTries MaxSessions๋ ๊ฑด๋๋ ค๋ดค๋๋ฐ ์ญ์ ์๋ฏธ์์.
9) VSCode ๋ฌธ์ (์ต์ข ํด๊ฒฐ ๋ฐฉ๋ฒ)
์ด์ ์ง์ง ํ ์ ์๋ ๊ฑด ๋คํด๋ดค๋ค๋ ์๊ฐ์ ์ข์ ํ ๋ป ํ๋๋ฐ ์ค๋ง .... VSCode ๋ฌธ์ ์ธ๊ฐ? ํ๊ณ ๋จธ๋ฆฌ๊ฐ ๋ฒ๋ฉ์๋ค.
๊ทธ๋์ ์์ด ์ค๋ง~ ํ๊ณ ๋ฏธ๋ค๋๋, ๋ค๋ฅธ SSH ์ ์ ์ดํ๋ฆฌ์ผ์ด์ ๋ค(XShell, MobaXTerm, PuTTy)๋ก ์ ์ํด๋ดค๋๋ ๋๋ ๊ฒ์ด๋ค. ๊ทธ๋์ VSCode์ ๋ฌธ์ ๊ฐ ํ์คํ๋ค๊ณ ์๊ฐํ๊ณ ์ฌ๊ธฐ์ ๊ธฐ ๋ฏ์ด๋ณด๊ธฐ๋ก ํ๋ค.
VSCode์์ SSH ์ฐ๊ฒฐ์ ์ํ ์ ๋ณด๋ค์ ์๋ ๊ฒฝ๋ก ํด๋์ ์ ์ฅ๋๋๋ฐ, known_hosts ํ์ผ์ ์ ์ํ IP์ ๊ณ์ ์ ๋ณด์ธ์ง ์ํผ ์ ์ ์ ๋ณด๋ก ์ถ์ ๋๋ ๋ฌธ์์ด์ SHA๋ฐฉ์์ผ๋ก ์ํธํํ ๊ฐ์ด ์ ํ ์๋ค.
SSH config ํ์ผ์ ์์ฃผ ์์ ํ๋ฉด ์ฌ๊ธฐ ๊ฐ์ด ๊ผฌ์ผ ์ ์๋ค๊ณ ํด์, ์ด์ด๋ดค๋๋ฐ.
๋ฌธ์ ๊ฐ ์์๋ค. ์~~~์ฃผ ์๋ฌด๋ ์ง ์๊ฒ ๋ด๊ฐ ์ ์ํ๋ ์๋ฒ์ IP+์ ๋ณด๋ง ์ ํ์์์.
๊ทผ๋ฐ .... ๊ทธ๋๋ ํน์๋?! ํ๋ ๋ง์์ ๊ทธ๋ฅ ์ ๋ ํ์ผ์ ๋ค ์ง์ฐ๊ณ VSCode์์ config ์ค์ ๋ถํฐ ์๋ง์ ์๋ป์ผ๋ก ํ๋๋
์ง์.. ์ ์์ด ๋๋ค. ์ง์ง ์ง์กด ์ด์ด์์.
ํผ์ ๋ณต์กํ ํด๊ฒฐ ๋ฐฉ๋ฒ๋ง ์๊ฐํ๋๋ฐ ๊ฒฐ๊ตญ ์ค์ ํ์ผ ์ง์ฐ๋ ๊ฑฐ์๋ค .. ^
์ญ์ ๊ธฐ๊ณ๋ ์๋๋ฉด ๋๋ฆฌ๊ณ ๋ด์ผ๋จ