터미널(단말기 장치)
: 컴퓨터에 접속하기 위한 Text 기반 장치
SW 터미널
: 컴퓨터 사용을 위한 단말기를 SW로 구현함
과거 터미널 뜻 : 단말기 장치
현재 터미널 뜻 : CLI로 동작되는 프로그램, 콘솔이라 부르기도 함
터미널을 편리하기 쓸 수 있는 프로그램
Sudo apt install terminator
프로토콜
: 통신할 때의 규칙
통신을 하기 위해서는 서로 같은 프로토콜을 사용해야 한다.
쉘 접속용 프로토콜
1. talnet : 암호화 안하는 프로토콜
2. ssh : 암호화 하는 프로토콜
파일 전송용 프로토콜
1. FTP
2. SFTP
신호가 들어왔을 때, 어떤 프로그램에게 도착한 신호인지 구분 하기 위한 번호
IP + 포트번호
를 알아야 프로그램끼리 통신 가능
GUI 기반
원격 접속 : 라즈베리의 VNC viewer가 대표적인 예 이다.
CLI 기반
원격 접속 : 원격 접속 터미널 프로그램을 사용 -> ex) MobaXterm
서버 : 요청을 받아서 원하는 처리를 해주고 요청한 곳(클라이언트)에 결과를 전달한다.
클라이언트 : 서버에게 요청하는 것으로 -> 터미널 프로그램 : MobaXterm
MobaXterm 설치
터미널 창에 ssh 서버 프로그램 설치를 위해sudo apt install openssh-server
입력
해당 명령어를 입력하면 ssh
뿐만 아니라 SFTP
도 지원한다. ssh 서버 프로그램
은 백그라운드에서 자동 설치되며, 리눅스에서 백그라운드 실행 프로그램을 시스템 데몬
이라고 한다.
시스템 데몬
파일들은 보통 명령어로 프로그램을 설치할때 d
로 끝난다.
설치가 완료되었다면, sudo systemctlstatus ssh
를 통해 동작되는지 확인하고, activated 문구를 확인한다면, q를 눌러 종료시켜준다.
Telnet
서버 프로그램 또한 위와 동일한 과정으로 설치해준다. sudo apt install telneted
을 입력하여 설치해줍니다.
가상 컴퓨터와 진짜 컴퓨터의 포트를 일치화 시켜줘야 합니다.
VirtualBox -> 설정 -> 고급 -> 포트포워딩 -> 규칙 추가
ssh : 22
telnet : 23
포트로 설정해준 후 저장합니다.
MobaXterm에서 Session을 통해 SSH에 localhost 및 우분투 아이디, 비밀번호를 통해 접속합니다.
Tel + Net : 통신 + 네트워크 프로토콜
원격지 컴퓨터를 CLI로 원격접속
할 때 쓰이고, ASCII 코드를 사용하여 통신합니다.
무선 통신이 안될 때에는 UART
라는 유선
Serial 통신으로 Shell을 사용한다. -> 임베디드 보드 제어/개발/동작Log 확인이 가능하다.
네트워크 접속이 가능해 무선 통신이 가능하다면, UART보다 훨씬 빠른 Telnet or SSH
를 사용할 수 있다.
OS를 만들 때 사용되는 GUI 프레임워크, MobaXterm에서도 Ubuntu의 APP을 실행할 수 있다고 이해하면 쉽다.