📝 텔넷 서버
- 원격지 시스템 관리 기능을 수행하는 여러 서버들 중 하나로, 오랫동안 전통적으로 사용되어 온 원격 접속 방법이며 보안에 취약함
- 리눅스 서버에 텔넷 서버를 설치하고 나면 원격지에 접속할 PC에는 텔넷 클라이언트 프로그램이 필요
- 클라이언트는 꼭 리눅스 서버가 아니어도 상관 없음
- 원격지의 PC(텔넷 클라이언트)에서 접속하게 되면 서버 앞에 앉아서 직접 텍스트 모드로 작업하는 것과 완전히 동일한 효과를 얻게 됨
📜 텔넷 서버 구축
- 서버에 접속하기 위해서는 꼭 클라이언트 프로그램이 필요
- 서버가 리눅스라고해서 클라이언트도 리눅스일 필요는 없음
- 각각의 서버 프로그램은 자신에 맞는 별도의 클라이언트 프로그램이 필요
- 텔넷 서버라면 텔넷 클라이언트가 필요
- 웹 서버라면 웹 클라이언트가 필요
- DB 서버라면 DB 클라이언트가 필요
📄 텔넷 서버 설치
- 아래 명령어를 통해 텔넷 서버를 설치한다.
# dnf -y install telnet-server
📄 텔넷 서비스 시작
- 이후 아래 명령어를 통해 텔넷 서비스를 실행한다.
# systemctl restart telnet.socket
- 서비스 실행 확인
📄 텔넷 전용 사용자 생성
- 다음으로 텔넷 전용 사용자를 생성한다.
# useradd teluser
# passwd teluser
- 텔넷 서비스가 정상적으로 동작하는지 확인해보기 위해 현재 서버에서 텔넷 서버로 접속해보았다.
# telnet 192.168.111.100
📄 텔넷 클라이언트 설치
- 이제 클라이언트 PC에 텔넷 클라이언트를 설치한다.
- 설정 -> 앱 -> 앱 및 기능 -> 프로그램 및 기능 -> Windows 기능 켜기/끄기 -> Telnet Client 체크 -> 재부팅
- 이후 클라이언트에서 텔넷 서버로 접속을 시도해보면 연결되지 않는 것을 확인할 수 있는데, 이는 아직 텔넷 서버의 포트가 막혀있기 때문이다.
- 참고로 텔넷 서버의 포트 번호는 23
- 포트의 개념을 간단하게 설명하자면, IP 주소를 하나의 집이라고 가정했을 때, 그 집 안에 있는 각각의 방을 포트라고 생각하면 된다.
📄 방화벽 설정(포트 열기)
- 방화벽 설정을 통해 텔넷 서버의 포트를 열기 위해서 아래와 같은 명령어를 수행한다.
# firewall-config
- 방화벽 설정 화면에 들어온 뒤, 설정을 '런타임'에서 '영구적'으로 바꾸고 'public' 영역의 '서비스' 탭에서 'telnet'을 찾아 체크해준다.
- 이후 다시 클라이언트에서 접속을 시도해보면 정상적으로 연결되는 것을 확인할 수 있다.
- 즉, 이렇게 되면 서버 컴퓨터에서 작업하는 것과 동일한 효과를 얻게 되는 것이다.
- 실제로 ifconfig 명령어를 입력해보면 아래와 같이 IP 주소가 서버 컴퓨터의 주소로 출력되는 것을 확인할 수 있다.
📄 텔넷 서비스 상시 가동
- 마지막으로 서버 컴퓨터를 재부팅할 경우 텔넷 서비스가 비활성화되는 것을 방지하고 상시로 가동시키기 위해 아래 명령어를 수행하여 작업을 마무리한다.
# systemctl enable telnet.socket
📝 OpenSSH 서버
- 텔넷과 용도는 비슷하지만 보안이 강화됨
- 텔넷과 거의 동일하지만 데이터를 전송할 때 암호화를 한다는 점이 다름
- 원격지에서 보안이 강화된 서버 접속이 필요할 경우 사용
참고로 서버당 포트 번호가 다르기 때문에, 하나의 서버 컴퓨터에 텔넷 서버, OpenSSH 서버 등 여러 개의 서버를 설치해도 서버 컴퓨터의 성능에 문제가 없다면 상관없음
📜 OpenSSH 서버 구축
- OpenSSH 서버의 경우 기본적으로 리눅스 서버에 설치 되어있음
📄 openssh 서버 확인
- 아래 명령어를 통해 openssh 서버가 설치되어 동작하고 있는지 확인
# systemctl status sshd
📄 방화벽 설정
- 이후 방화벽 설정 화면으로 들어와 확인해보면 ssh 서비스 포트가 이미 체크되어 있는 것을 확인할 수 있음
- 즉, 리눅스 서버를 사용하면 이미 openssh 서버가 설치되어 서비스가 실행되고 있으며, 포트 번호까지 열려 있는 것이다.
📄 클라이언트에서 접속
- 다음으로, 이번에는 리눅스 클라이언트에서 openssh 서버로 접속해보았다.
# ssh teluser@192.168.111.100
- 정상적으로 연결된 것을 확인할 수 있으며, 역시 ifconfig 명령어를 통해 IP 주소를 확인해보면 서버 컴퓨터의 IP 주소로 출력되는 것을 확인할 수 있다.
- 참고로 윈도우 클라이언트에서 openssh 서버에 접속하기 위해서는 openssh 클라이언트(putty)를 따로 설치하여 접속해야 한다.
📝 XRDP 서버
- X윈도우 환경으로 원격 접속하고 싶을 때 사용할 수 있음
- 원격지로 그래픽 화면을 전송하는 원리이므로 속도가 느림
- 클라이언트는 Windows만 지원함(원격 데스크톱 사용)
- 리눅스에 X윈도우 환경으로 원격 접속하는 서버로는 VNCSERVER 등의 방식을 사용할 수 있음
- VNCSERVER의 경우 클라이언트가 리눅스든 Windows든 상관없이 서버에 접속할 수 있음
📜 XRDP 서버 구축
📄 추가 패키지 저장소 설치
- XRDP 서버를 설치하기 위해서는 EPEL 저장소가 따로 필요한데, CentOS 8의 경우 이를 기본적으로 제공하지 않고 있기 때문에 이를 먼저 설치해 주었다.
# dnf -y install epel-release
EPEL(Extra Packages for Enterprise Linux)이란 약자를 풀어 써보면 '기업용 리눅스를 위한 추가 패키지'라는 의미이다.
즉, RHEL이나 CentOS에 기본적으로 탑재되어 있지 않은 패키지를 제공하기 위해서 필요한 '패키지 저장소'인 것이다.
따라서 단순히 EPEL이라고 부르기 보다는 EPEL 저장소라고 주로 부른다.
📄 XRDP 서버 설치
- 추가 패키지를 설치하기 위한 패키지 저장소를 설치했으니, 다음으로 XRDP 서버를 설치한다.
# dnf -y install xrdp
📄 XRDP 서비스 시작
- 이후 XRDP 서비스를 시작시킨다.
# systemctl restart xrdp
📄 방화벽 설정
- 다음으로는 마찬가지로 방화벽 설정을 해주어야 하는데, XRDP의 경우 서비스 탭 목록에 존재하지 않기 때문에 아래와 같이 포트 탭에서 '추가' 버튼을 통해 포트 번호를 따로 입력하여 추가해주어야 한다.
- XDRP의 포트번호는 3389이다.
📄 원격 데스크톱에서 접속
- 이후 원격 데스크톱에서 접속을 시도해보았다.
- 사용할 클라이언트는 윈도우 클라이언트이며 윈도우 클라이언트의 경우 기본적으로 '원격 데스크톱 연결'이라는 XRDP 클라이언트를 제공하고 있다.
- 서버 컴퓨터의 IP 주소를 입력하고 연결한 뒤, 로그인해보면 정상적으로 접속되는 것을 확인할 수 있다.
📝 결론
- SSH를 기본적으로 사용하고, XRDP 서버는 설정만 해놓고 가동하지 않는다.
- 원격지에서 SSH로 서버를 관리하다가 X윈도우 접속이 필요한 경우에는 접속된 SSH 접속 창에서 XRDP 서버를 구동하고 원격 데스크톱으로 접속해서 사용한다.
- 텔넷 서버는 보안이 철저한 회사 내의 네트워크에서만 사용하면 무난하다.
'🐧 Linux > 이것이 리눅스다(CentOS 8)' 카테고리의 다른 글
[이것이 리눅스다(CentOS 8)] 10장. 메일 서버 설치와 운영 (0) | 2023.04.03 |
---|---|
[이것이 리눅스다(CentOS 8)] 09장. 네임 서버 설치와 운영 (0) | 2023.04.03 |
[이것이 리눅스다(CentOS 8)] 07장. 쉘 스크립트 프로그래밍 (0) | 2023.04.02 |
[이것이 리눅스다(CentOS 8)] 06장. 하드디스크 관리와 사용자별 공간 할당(3) (0) | 2023.04.01 |
[이것이 리눅스다(CentOS 8)] 06장. 하드디스크 관리와 사용자별 공간 할당(2) (0) | 2023.03.31 |