Linux/실습 기록

[컴퓨터시스템관리] 2021.05.04 10주차 실습일지 - Remote Server

daeunnniii 2021. 5. 4. 19:55
728x90
반응형

실습과제 결과

▶ telnet, ssh, vnc 중 하나를 선택하여 설치 및 설정하고, 원격으로 접속 되는 모습을 영상으로 촬영

youtu.be/2ImJEtBvVDU

 

 

새로 배운 내용

1. 네트워크

1) TCP/IP

-TCP/IP패킷(packet) 통신을 위한 인터넷의 규약

-TCP통신의 송수신을 다루며, IP보다는 느리지만 꼼꼼한 방식을 사용

-IP데이터 통신을 다루며, 패킷 조각들의 순서가 바뀌거나 일부 누락되더라도 최대한 빨리 목적지로 보내는 역할을 함.

2) host name / domain name

-도메인명(domain name): IP주소를 사람이 기억하기 쉬운 이름(url)으로 바꾼 것.

-호스트명(host name): html 파일이 저장된 컴퓨터의 IP주소 대신 host name을 부여해서 사용.

ex) 네이버 메일은 mail.naver.com 주소, 네이버 웹툰은 comic.naver.com 주소를 사용할 때, 여기서 mail과 comic은 naver.com이라는 도메인 네임에서 각각의 서비스를 구분하기 위한 호스트 네임입니다.

3) ip address

-IPv4의 주소 부족 문제를 해결하기 위해 IPv6 사용.

-IPv4는 A~E 클래스로 나뉨.

4) broadcast address

- 내부 네트워크의 모든 컴퓨터가 수신하는 주소

5) gateway

-내부 네트워크를 외부로 연결하기 위한 장치

6) DNS server address

-URL을 해당 IP 주소로 변환해주는 서버 컴퓨터

7) Client-Server Model

-서비스 요청자인 client와 서비스 자원의 제공자인 server 간에 작업을 분리해주는 분산 애플리케이션 구조이자 네트워크 아키텍처

 

2. Telnet Server

- 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜

-보안 문제 때문에 SSH로 대체되고 있음.

telnet server 설치 -> telnet 설정파일 편집 -> 사용자 생성 -> telnet 서비스 가동 -> 방화벽 설정(포트 열기)

1) Telnet 설치 및 리눅스에서 Telnet 접속

2) Windows에서 Telnet 접속

-Windows 설정>Windows 기능 켜기/끄기>텔넷 클라이언트 체크 후 확인

이제 cmd로 들어가 ping으로 위에서 확인한 IP주소 확인한다. 192.168.91.128으로 ping을 보내보면 잘 응답하는 것을 확인할 수 있음.

이제 telnet [자신의 IP주소]를 입력해 Telnet 서버에 접속한다. telnet 192.168.91.128을 입력하고 잠시 기다리면 다음과 같이 로그인 창이 뜨는 것을 확인할 수 있다. 해당 id와 pw를 입력하면 정상적으로 Telnet 서버에 접속된다.

즉, 호스트 컴퓨터인 Windows에서 linux 서버의 Telnet으로 접속을 완료했다.

 

현재 linuxta 사용자 계정은 sudo 권한이 없지만, 만약 sudo 권한이 있는 사용자로 로그인하면 root 권한을 획득할 수 있다.

 

3) telnet client(PuTTY)에서 Telnet 접속

PuTTY로 들어가 Host Name에 해당 IP주소를 입력해준다. 그리고 Connection Type을 텔넷으로 선택해주면 포트번호가 자동으로 바뀌는 것을 볼 수 있다. Open을 눌러주면 바로 Telnet 서버에 접속할 수 있다.

* xinetd(eXtended InterNET Demon)이란?

 

3. OpenSSH Server

1) Telnet 의 문제점: 암호화되지 않은 데이터를 전송하여, 네트워크 스니핑(sniffing), IP 스푸핑(spoofing)과 같은 공격에 매우 취약

→ 안전하지 않은 네트워크 상에서, 암호화된 채널을 생성하여 안전하게 통신할 수 있는 프로토콜이 필요

 

2) SSH (Secure SHell): 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜 (22번 포트 사용)

 

3) OpenSSH: SSH 프로토콜을 이용하여 암호화된 통신 세션을 컴퓨터 네트워크에 제공하는 컴퓨터 프로그램의 모임

 

4) 실습

▶ 리눅스에서 OpenSSH 서버 접속:

-(방화벽 설정) ufw 명령어로 SSH 포트 22번을 allow해준 뒤 SSH로 접속한다.

▶ SSH client(PuTTY)에서 OpenSSH 서버 접속:

-아래와 같이 IP주소 입력 후 Open을 눌러주면 된다. 어떤 경고 메세지가 뜨는데 그냥 Yes를 눌러주면 된다.

 

4. VNC Server

1)  VNC (Virtual Network Computing, 가상 네트워크 컴퓨팅)
컴퓨터 환경에서 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템

 

2) VNC server
그래픽 모드로 원격 관리를 지원하는 서버로, 원격지에서 X 윈도우 환경을 사용할 수 있게 해줌

 

3) 실습

-우분투 설정>공유>화면 공유 설정에서 아래와 같이 동작하도록 스위치를 켜준다.

-dconf-editor로 들어가 org>gnome>desktop>remote-access에서 require-encryption 체크를 해제

-ufw allow 5900/tcp로 방화벽 설정

 

*VNC 서버 접속은 kubuntu에서 진행

-xtightvncviewer 패키지를 다운한다.

vncviewer [ip주소] 를 입력한 뒤 password를 입력해주면 위 우분투 서버로 원격접속이 가능하다.

아래와 같이 Kubuntu 내에서 ubuntu로 바로 원격접속 된 것을 볼 수 있다.

 

 

문제가 발생하거나 고민한 내용 & 해결 과정

▶ 문제 발생

- 큰 문제는 아니었지만, 처음에 kubuntu에서 vncviewer IP주소를 입력해도 접속이 되지 않았다.

▶해결 과정

- 따라서 다시 우분투로 되돌아가서 설정이 잘못된 부분이 존재하는지 확인해보았다. 다시 살펴보니 dconf-editor에서 require-encryption 체크를 해제했었는데도 불구하고 다시 체크가 되어있었다. 따라서 체크를 다시 해제한 뒤 "다시 읽기" 버튼을 눌러주었다. 그랬더니 VNC Server로 접속에 성공하였다.

 

참고한 자료

hostname과 domainname 예시: real-dongsoo7.tistory.com/122

 

DomainName과 HostName

몇일전, 일을 하며 네트워크에 관련된 설정을 해야하는 상황이 있었다. 나는 내가 가진 지식에 대해 확신이 별로 없는편(?)이기 때문에, 뭔가를 해야하는 상황이 오면 곧 잘 뇌정지가 오곤하기

real-dongsoo7.tistory.com

VNC Server 설명: wiseworld.tistory.com/80

 

[리눅스] VNC란? 사용목적과 설치

원격 지원, 원격 제어 구분하기 흔히 원격이라고 하면 네트워크 대역에서 물리적인 거리상 멀리 떨어진 다른 컴퓨터에 로그인하거나, 컴퓨터를 제어할 수 있도록 연결하는 것을 말한다. 원격접

wiseworld.tistory.com

 

회고 (+, -, !)

+ : 오늘은 Telnet, SSH, VNC 서버의 작동 방식에 대해 배우고, 직접 서버를 가동시켜 원격 접속을 해보았다. 특히 해킹 실습 때 Telnet 서버 활용하는 경우가 많은데, 이전에는 종종 23번 포트에 연결하지 못한다는 오류가 났었다. 하지만 이번 수업시간을 통해 방화벽에서 Telnet 23번 포트를 허용해주고, disable, socket_type, wait, log_on_failure 등 다양한 명령어를 활용하여 telnet server를 설정한 뒤 가동하여 접속하는 방법에 대해 알게 되었다. 전에 힘들게 오류를 찾아 Telnet에 접속했던 반면에 수업시간에 배운 방법으로 쉽게 Telnet 서버에 접속할 수 있는 방법을 알게 되어 신기하고 기뻤다. 또한 VNS Server를 구축하고 Kubuntu에서 ubuntu로 원격접속을 해보았던 것이 기억에 남는다. 원격접속 시 마우스 포인터까지 함께 동시에 움직이는 것이 신기했다.

- : dconf-editor을 활용하는 과정에서 잠시 오류가 났지만, 다시 설정사항을 확인하는 과정에서 해결할 수 있었다.

! : 리눅스, windows, PuTTY로 모두 원격접속을 자유자재로 할 수 있게 되었다는 점에서 이번 수업시간이 의미있게 느껴졌다. Telnet, OpenSSH, VNC 서버 이 3가지의 차이점을 잘 이해하고 넘어가야겠다. 그리고 다음주 Domain Name Server도 실습을 잘 진행하고 싶다.

 

 

728x90
반응형