Bibi's DevLog ๐Ÿค“๐ŸŽ

[TIL - Codesquad] ๊ฐ€์ƒํ™˜๊ฒฝ(VM)์— ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ, ssh์„ค์น˜ํ•˜๊ณ  ์›๊ฒฉ์ ‘์†ํ•˜๊ธฐ ๋ณธ๋ฌธ

TIL

[TIL - Codesquad] ๊ฐ€์ƒํ™˜๊ฒฝ(VM)์— ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ, ssh์„ค์น˜ํ•˜๊ณ  ์›๊ฒฉ์ ‘์†ํ•˜๊ธฐ

๋น„๋น„ bibi 2021. 1. 8. 00:12

 

jihyewoo.tistory.com/74

ํ˜ผ์ž ์‚ฝ์งˆํ•˜๋‹ค๊ฐ€ ๋””๋ฒ„๊น…์ด ์•ˆ๋ผ์„œ ๋ฉ˜ํƒˆ ๊นจ์กŒ์„ ๋•Œ์ฏค..
woody๊ฐ€ ์ž์‹ ์˜ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์„ ๊ณต์œ ํ•ด ์ฃผ์…”์„œ ๋‹ค์‹œ ์ฐจ๊ทผ์ฐจ๊ทผ ๋”ฐ๋ผํ•˜๋‹ˆ ์„ฑ๊ณตํ–ˆ๋‹ค. ๐Ÿ˜ญ๐Ÿ˜ญ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!!! ๐Ÿ™‡‍โ™‚๏ธ๐Ÿ™‡‍โ™‚๏ธ

 


 

์˜ค๋Š˜ ํ•œ ์ผ

- VM (VirtualBox) ์„ค์น˜ https://www.virtualbox.org
- VM์— ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ ์„ค์น˜ (ubuntu 20.04.1 LTS) redmuffler.tistory.com/439
- ๋กœ์ปฌ์— Window Terminal๊ณผ Window PowerShell ์„ค์น˜ honux77.github.io/post/wsl-vs-code-setting/
- ๋กœ์ปฌ์— WSL2 ์„ค์น˜ www.44bits.io/ko/post/wsl2-install-and-basic-usage  
- ์•ฝ๊ฐ„์˜ ๋ฆฌ๋ˆ…์Šค, ์‰˜ ๋ช…๋ น์–ด ์‚ฌ์šฉํ•ด๋ณด๊ธฐ
- ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ์‚ฝ์งˆ..๐Ÿ˜‚

 

 


TIL

 

Shell (์‰˜ / ์…ธ) ์ด๋ž€?

: OS (์šด์˜์ฒด์ œ)์™€ ๋Œ€ํ™”ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ.
- ์šด์˜์ฒด์ œ ๋‚ด๋ถ€(= ์ปค๋„ kernel)๊ณผ ์‚ฌ์šฉ์ž ์‚ฌ์ด๋ฅผ ์ด์–ด์ฃผ๋Š” ์—ญํ• .
- ์šด์˜์ฒด์ œ ๋‚ด๋ถ€(์ปค๋„kernel) ๊ณผ ์‚ฌ์šฉ์ž ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ์‹ธ๋Š” ์ธต์ด๊ธฐ ๋•Œ๋ฌธ์— shell(๊ป๋ฐ๊ธฐ)์ด๋ผ๋Š” ์ด๋ฆ„์ด ๋จ.
- ์ปค๋„๊ณผ ์‚ฌ์šฉ์ž ์‚ฌ์ด์—์„œ, ์‚ฌ์šฉ์ž์˜ ๋ช…๋ น์„ ํ•ด์„ํ•˜๊ณ  ์ปค๋„์— ๋ช…๋ น์„ ์š”์ฒญํ•˜๋Š” ์—ญํ• .
- ์…ธ์€ ์ปค๋„์—์„œ ๋ถ„๋ฆฌ๋œ ๋ณ„๋„ ํ”„๋กœ๊ทธ๋žจ์ด๋ฉฐ, ๋‹ค์–‘ํ•œ ์…ธ์ด ์กด์žฌํ•˜๊ณ  ๊ฐœ๋ฐœ์ค‘์ž„.
- CLI(Command Line Interface, ๋ช…๋ น ์ค„ ์ธํ„ฐํŽ˜์ด์Šค)์™€ GUI(Graphic User Interface, ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค) ๋ผ๋Š” ๋‘ ์ข…๋ฅ˜๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 
ko.wikipedia.org/wiki/%EC%85%B8 ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด..
๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋Š” ์œˆ๋„์šฐ์˜ CLI ์…ธ์ด๋ฉฐ, bash๋Š” ์œ ๋‹‰์Šค์˜ CLI ์…ธ์ด๋‹ค. ์œˆ๋„์šฐ ํƒ์ƒ‰๊ธฐ๋Š” ์œˆ๋„์šฐ์˜ GUI ์…ธ์ด๋‹ค.

 

์…ธ์˜ ๊ธฐ๋Šฅ

1. ๋ช…๋ น์–ด ํ•ด์„ ๊ธฐ๋Šฅ : ์‚ฌ์šฉ์ž์™€ ์ปค๋„ ์‚ฌ์ด์—์„œ ๋ช…๋ น์„ ํ•ด์„ํ•ด ์ „๋‹ฌํ•จ
2. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ : ์…ธ ์ž์ฒด์— ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์ด ์žˆ์–ด, ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ.
  ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฐ˜๋ณต๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ - ์…ธ ํ”„๋กœ๊ทธ๋žจ์„ '์…ธ ์Šคํฌ๋ฆฝํŠธ'๋ผ๊ณ  ํ•จ.
3. ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ์„ค์ • ๊ธฐ๋Šฅ : ์ดˆ๊ธฐํ™”ํŒŒ์ผ์„ ํ™œ์šฉํ•ด ์‚ฌ์šฉ์ž์˜ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ.
  ํ™˜๊ฒฝ๋ณ€์ˆ˜์™€ ๊ด€๋ จ๋จ - ์…ธ ๊ณต๋ถ€์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ ์ค‘ ํ•˜๋‚˜.
jhnyang.tistory.com/57 ๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

์‰˜ ์Šคํฌ๋ฆฝํŠธ Shell Script ๋ž€?

: ์…ธ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ๋งŒ๋“  ์…ธ ํ”„๋กœ๊ทธ๋žจ.
- ์ฃผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ / ํŒŒ์ผ ์ด์šฉ / ๋ฌธ์ž์—ด ์ถœ๋ ฅ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•จ.
- ์„œ๋ฒ„ ์ž‘์—… ์ž๋™ํ™”๋ฅผ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ตํ˜€๋‘์–ด์•ผ ํ•จ.
- ์‰˜ ๊ธฐ๋ณธ ๋ช…๋ น์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ๋ฒ•์ด ์ถ”๊ฐ€๋˜๋Š” ํ˜•ํƒœ๋กœ, ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด๋ณด๋‹ค ๊ฐ„๋‹จํ•จ.

 

SSH (ssh)๋ž€?

: Secure Shell์˜ ์•ฝ์ž๋กœ, ๋„คํŠธ์›Œํฌ์ƒ์˜ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์›๊ฒฉ ์ ‘์† ๋ฐ ๋ช…๋ น ์‹คํ–‰์„ ํ•˜๊ฒŒ ํ•ด ์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ๋งํ•œ๋‹ค.

ํ˜ธ์ŠคํŠธ host = ๋„คํŠธ์›Œํฌ ํ˜ธ์ŠคํŠธ network host
: ๋„คํŠธ์›Œํฌ ์ƒ(์ธํ„ฐ๋„ท์— ์ ‘์†๋œ)์— ์žˆ์–ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์™€ ์ •๋ณด๊ตํ™˜์ด ๊ฐ€๋Šฅํ•œ ์ปดํ“จํ„ฐ
ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ
: ๋‹จ๋ง๊ธฐ๋ฅผ ์ด์šฉํ•ด ์ •๋ณด๋ฅผ ์ž…์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ. ๋˜๋Š” ์‹ค๋ฌผ ์ปดํ“จํ„ฐ(VM ๋‚ด์˜ ์ปดํ“จํ„ฐ์™€ ๋ฐ˜๋Œ€๊ฐœ๋…)

๊ฒŒ์ŠคํŠธ ์ปดํ“จํ„ฐ
: VM์— ์„ค์น˜๋œ ๊ฐ€์ƒ์˜ ์ปดํ“จํ„ฐ.
ํ˜ธ์ŠคํŠธ OS : ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์— ์„ค์น˜๋œ ์šด์˜์ฒด์ œ .

๊ฒŒ์ŠคํŠธ OS : ๊ฒŒ์ŠคํŠธ ์ปดํ“จํ„ฐ ์•ˆ์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” ์šด์˜์ฒด์ œ.
www.ith.kr/chair/cin/cin0202.html, zetawiki.com/wiki/%ED%98%B8%EC%8A%A4%ED%8A%B8OS,_%EA%B2%8C%EC%8A%A4%ED%8A%B8OS ๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

bash๋ž€?

: ํ˜„์žฌ ๋ฆฌ๋ˆ…์Šค์˜ ํ‘œ์ค€ ์…ธ์ด๋ฉฐ, ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์…ธ.

 

vi / vim ์ด๋ž€?

: vi / vim ์—๋””ํ„ฐ.
- ๋ชจ๋“  ์œ ๋‹‰์Šค, ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ณธ ๋ฌธ์„œํŽธ์ง‘๊ธฐ.
- ์ค„ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ํ•œ ํ™”๋ฉด์„ ํŽธ์ง‘ํ•˜๋Š” visual editor๋ผ๋Š” ๋œป์—์„œ ์œ ๋ž˜ํ–ˆ๋‹ค.
- vim์€ vi iMproved์˜ ์•ฝ์ž๋กœ, vi ํ˜ธํ™˜ ์—๋””ํ„ฐ์ด๋ฉฐ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.
- ๋งˆ์šฐ์Šค ์—†์ด ํ‚ค๋ณด๋“œ๋งŒ์œผ๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด, ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ.
ko.wikipedia.org/wiki/Vi, blog.lael.be/post/7321 ๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

ํฌํŠธํฌ์›Œ๋”ฉ Port Forwarding ์ด๋ž€?

: ๊ณต์œ ๊ธฐ์˜ IP๋ฅผ ์™ธ๋ถ€ IP, ๊ณต์œ ๊ธฐ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” IP๋ฅผ ๋‚ด๋ถ€ IP๋ผ๊ณ  ํ•œ๋‹ค. ์™ธ๋ถ€ IP๋Š” ๊ณ ์ •๋˜์–ด ์žˆ์ง€๋งŒ, ๋‚ด๋ถ€ IP๋Š” ๋ณดํ†ต ์œ ๋™ IP๋ฅผ ์“ฐ๊ธฐ์— ๊ฐ’์ด ๋งค๋ฒˆ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ํŠน์ • ์™ธ๋ถ€ IP์˜ ํฌํŠธ์— ์ ‘์† ์‹œ ํ•ญ์ƒ ํŠน์ • ๋‚ด๋ถ€ IP์˜ ํฌํŠธ๋กœ ์—ฐ๊ฒฐ์‹œ์ผœ ์ฃผ๋Š” ๊ฒƒ์„ Port Forwarding์ด๋ผ ํ•œ๋‹ค. 
์ถœ์ฒ˜: https://cupjoo.tistory.com/2 [์˜ค์ง€๋Š” ์ปดํ“จํ„ฐ ๊ณต๋ถ€]

 


์˜ค๋Š˜ ์‹ค์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์ž๋ฉด..

- VM์„ ๊ตฌ์ถ•ํ•˜๊ณ , VM์— Linux ubuntu๋ฅผ ์„ค์น˜ํ•œ ๋’ค, ์šฐ๋ถ„ํˆฌ์—์„œ SSH๋ฅผ ์ด์šฉํ•ด ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค
- SSH Client๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ(๋กœ์ปฌ)์—์„œ ํ•ด๋‹น SSH Server(VM ubuntu)์— ์ ‘์†ํ•œ๋‹ค.
- ์ฆ‰ ํ•œ ์ปดํ“จํ„ฐ(๋กœ์ปฌ ์ปดํ“จํ„ฐ) ์—์„œ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ(VM ์ปดํ“จํ„ฐ)๋กœ ์›๊ฒฉ ์ ‘์†๊ณผ ์›๊ฒฉ ์กฐ์ข…์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


์˜ค๋Š˜ ์‚ฌ์šฉํ•œ ๋ช…๋ น์–ด ์ •๋ฆฌ

 

<์šฐ๋ถ„ํˆฌ>

$ sudo apt-get install ssh
: ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ SSH์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ช…๋ น์–ด
$ sudo vi /etc/ssh/sshd_config
: ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ SSH ์„œ๋ฒ„ ์„ค์ • ํŒŒ์ผ์„ vi ํŽธ์ง‘๊ธฐ๋กœ ์—ฌ๋Š” ๋ช…๋ น์–ด
$ sudo service ssh start
: ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ SSH์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด
$ service ssh status
: ์„œ๋ฒ„์˜ ์‹คํ–‰ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด
$ ps -ef |grep sshd
: ์‹คํ–‰ ์ค‘์ธ SSH์„œ๋ฒ„์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด 
$ sudo netstat -ntlp |grep sshd
: ์‹คํ–‰ ์ค‘์ธ SSH์„œ๋ฒ„์˜ ip์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด.
$ ifconfig
: ํ˜„์žฌ ์ปดํ“จํ„ฐ์— ํ• ๋‹น๋œ (๋‚ด๋ถ€)ip์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด.
$ ls -l
: ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ๋“ค์˜ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด
$ mkdir ํด๋”๋ช…
: 'ํด๋”๋ช…'์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด
$ chmod (๊ถŒํ•œ ๋ช…๋ น) ํŒŒ์ผ/ํด๋”๋ช…
: ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ถŒํ•œ์„ (๊ถŒํ•œ ๋ช…๋ น)์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์–ด. 
์ฐธ๊ณ  : withcoding.com/103, www.fwantastic.com/2019/12/linux-permission.html ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

 

<vi / vim ํŽธ์ง‘๊ธฐ>

i๋ฅผ ๋ˆ„๋ฅด๋ฉด INSERT(ํŽธ์ง‘๋ชจ๋“œ) ์ƒํƒœ๋กœ, esc๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ช…๋ น๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํŽธ์ง‘๋ชจ๋“œ์—์„œ ๋ฌธ์„œ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
viํŽธ์ง‘๊ธฐ๋ฅผ ๋‚˜๊ฐ€๊ธฐ ์œ„ํ•ด์„œ๋Š”, esc๋ฅผ ๋ˆ„๋ฅธ ์ฝ๊ธฐ ์ƒํƒœ์—์„œ 
:wq ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
: ๋Š” ๋ช…๋ นํ–‰ ํ™œ์„ฑํ™”๋ฅผ, wq๋Š” '์ €์žฅํ•˜๊ณ  ์ข…๋ฃŒ'๋ฅผ ๋œปํ•œ๋‹ค.

 

 

-- ๋‚ด์ผ ๋งˆ์ € ๊ณต๋ถ€, ์ •๋ฆฌํ•  ๊ฒƒ๋“ค --

<๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด>

= bash์‰˜์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ๋ช…๋ น์–ด

www.fun-coding.org/linux_basic2.html

itholic.github.io/linux-basic-command/

๋ฆฌ๋ˆ…์Šค์˜ ์—ญ์‚ฌ

www.fun-coding.org/linux_basic1.html

๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ์ฐจ์ด

pante.blog/481

์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‰˜ ์ข…๋ฅ˜ ์ •๋ฆฌ

www.fun-coding.org/linux_basic2.html

jhnyang.tistory.com/57

์…ธ ์Šคํฌ๋ฆฝํŠธ์— ํ™œ์šฉํ•œ ์‚ฌ๋ก€ ์กฐ์‚ฌ,์ •๋ฆฌ

๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ ๋ฆฌ๋ˆ…์Šค์™€ ๋น„์Šทํ•œ ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•

์‰˜ ์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋…, ๋ฌธ๋ฒ•

www.fun-coding.org/linux_basic3.html

 

ssh์— ๋Œ€ํ•œ ๋” ์ž์„ธํ•œ ์„ค๋ช…..

swalloow.github.io/ssh-tunneling/

www.ktword.co.kr/abbr_view.php?m_temp1=2524