본문 바로가기

Foundation/- Linux

Telnet & SSH & VNC

1. Telnet 서버
- 오랫동안 전통적으로 사용되어 온 원격 접속 방법

- 하지만 보안에 취약함

- 텔넷 서비스를 이용하려면 원격지에서 접속할 pc는 클라이언트가 필요

- TELNET 이란 TCP/IP 기반의 프로토콜로 원격지 시스템을 자신의
  시스템 처럼 사용할 수 있게 하는 원격 터미널 접속 서비스이다.
- TCP/23번 포트 사용
- 평문 전송 (Plain Text)

Server-A (Telnet Server) <---> Client-Win ( Telnet Client)

Server-A (텔넷 서버)

(1)패키지 설치

#yum -y install telnet-server // 텔넷 서버용 패키지 설치
#rpm -qa | grep telnet // 설치 확인


(2) 서비스 시작 
# systemctl start telnet.socket

# systemctl status telnet.socket

active상태로 23번 포트가 열린것을 확인 할 수 있다. 

#systemctl enable telnet.socket을 통해 텔넷 서비스를 항시 가동할 수 있다.


(3) 방화벽 설정 

#firewall-config으로 방화벽 telnet에 체크해준 후 옵션에서 firewalld 다시 불러오기하고 닫기를 누른다.  설정은 영구적으로 .! 



(4)텔넷 테스트 계정 생성
useradd teluser //  테스트 계정 추가 `
passwd teluser  // 비밀번호 생성 


(5)텔넷 Server-A 접속 테스트
telnet [접속IP]
#telnet 100.100.100.110
ID : teluser
PW : 1234

다음과 같이 잘 접속되는 것을 확인 할 수 있다.


Clinet-Win
(1) 제어판 -> 프로그램 및 기능 -> Windows 기능 켜기/끄기 -> Telnet Client 체크 


(2) cmd -> telnet [서버 ip주소] -> 로그인 -> 텔넷 접속완료.



2. SSH 서버

- Telnet과 용도는 동일하나 Telnet의 약점인 보안성을 강화한 것이다.

- 데이터를 전송할때 암호화한 데이터로 전송한다. 


sshd서비스는 기본적으로 centOS에서 패키지 설치나 방화벽허용이 되어있다.

그러므로 그냥 사용하면 된다 .! 


[Server-A] 패키지 설치확인 [이미 설치되어있다.]

  


[Server-A]에서 ssh 접속을 해보면 다음과같이 이상없이 되는 것을 확인 할 수 있다.

 telnet과 명령어차이가 조금있고 별반 차이없다. #ssh [아이디]@[ip주소]



[Win-Client] 

telnet은 기본적으로 설치되어있었지만, ssh는 프로그램을 따로설치해야한다.

첨부파일 (putty)을 다운로드하고 Host Name에 Server-A의 IP주소를 입력


아이디 비번을입력하면 다음과같이 이상없이 동작한다.


VNC ??

X윈도우 환경으로 원격접속을 하고싶을 때 사용한다.

원격지로 그래픽 화면을 전송하는 원리이므로, 속도가 많이 느리다. 


[실습]

Server-A 

(1) #yum -y install tigervnc-server     //vnc 서버 다운로드 

(2) #rpm -qa | grep vnc                   // 설치 확인


(3) VNC 서버는 접속할 사용자를 지정하고, 사용자에게 디스플레이 번호를 할당해야한다. centos사용자로 접속할 수 있도록 하고, 디스플레이 번호는 1번을 부여하겠다.

#cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service // 주 설정파일을 centos사용자 설정 파일용으로 복사하자 . 


#vi /etc/systemd/system/vncserver@:1.service // VNS 사용자를 다음과 같이 변경한다. 40행 41행의 <USER> 부분을 centos로 바꾸어준다.

첫 번째는 사용자 이름이고, 두 번째는 사용자의 홈 디렉터리를 지정하는 것이다.


(4) #firewall-cmd --permanent --add-service=vnc-server //방화벽을 허용한다.


(5) #su - centos 명령으로 VNC사용자인 centos로 접속한 후 '#vncserver명령으로 서비스를 시작하자. 서비스를 시작할 때 VNC 전용의 비밀번호를 6글자 이상으로 지정해야한다 (123456) 


자이제 Client에서 서버로 접속해보자.


(6) centos 사용자로 접속하고 #su -c 'yum -y install tigervnc'를 통해 패키지 부터 설치한다. 


(7) '#vncviewer 서버ip=디스플레이번호'를 통해 Server에 접속해본다

(본 사진은 디스플레이번호를 3번으로 했다.(3번과정참고))

 

이번에는 windows에서 centos의 x윈도 환경을 사용해보자

 

http://www.tigervnc.com 또는 http://bintray.com/tigervnc/stable/tigervnc에서 windows용을 다운받는다 . 프로그램을 기본설치하고 tigervnc viewer아이콘을 클릭한다.

 

그럼마찬가지로 ip주소:디스플레이번호를 입력하면 접속이 되는것을 확인 할 수 있다.


 



 










NTP (Network Time Protocol) 서버 - 시간 동기화 프로토콜
 - 네트워크에 분산된 NTP서버들로 부터 장비들의 시간을 동기화 한다.
 - UDP/123 포트 사용을하며, Stratum 계층 구조를 가진다.
 
 Stratum 0 - 세슘원자시계, GPS, 표준 주파수 등
 Stratum 1 - Stratum 0에 직접 연결하여 동기화 시킨 서버
 Stratum 2 - 트리구조로 이루어져 사용자들이 사용하는 NTP서버는 3계층 부터이다.
 Stratum 3 - 서버 리스트
    time.bora.net   LG U+
    ntp.ehwa.or.kr  이대부속초등학교
    time.kornet.net  KT
    time.kriss.re.kr 한국표준과학원 (KRISS)
 Stratum 4 Server-A
 Stratum 5 Server-B, Client-Linux, Client-Win
 

 

 [실습!]
 NTP 서버 (Server-A)
 #yum -y install ntp    // ntp 패키지 설치
 
 /etc/ntp.conf     // ntp 주 설정 파일
 원본을 /root 디렉토리 복사
 #cp /etc/ntp.conf /root   // 설정 파일 백업
 
 #vim /etc/ntp.conf    // 설정 파일 편집(모두지우고 간단하게 설정해보자!)


  1
  2 #restrict
  3 restrict 100.100.100.0 mask 255.255.255.0  // 시간정보를 제공할 네트워크 대역
  4
  5 #NTP Server List        
  6 server time.bora.net                  // 상위 Stratum NTP 서버
  7 server ntp.ehwa.or.kr

  8 server time.kornet.net

 

 #service ntpd start        // ntpd 데몬 활성화
 #chkconfig ntpd on        // 부팅 시 데몬 활성화 설정
 #chkconfig --list ntpd       // 설정 확인
 
 NTP Clinet (Server-B, Client-Linux)  //두서버도 Server-A와 같게 동기화
 #yum -y install ntp
 #vim /etc/ntp.conf (내용 전부 삭제)
 
 #NTP Server List
 server 100.100.100.110
 
 #service ntpd start   
    #chkconfig ntpd on  
    #chkconfig --list ntpd

 Client-Win
 
 NTP 설정 확인
 #ntpq -p  // NTP서버와 동기화 상태 확인
 


 (다음서버)   (다다음 서버)
 
  remote           refid     
=================================
*time.bora.net     204.123.2.5   
 
 "공백" -  접속 불가
 " +  " -  연결 가능한 상태
 " *  " -  현재 동기화 중인 서버
 remote -  원격 NTP서버 목록
 refid  -  다음 NTP서버의 목록


 동기화가 잘되지 않을 경우
 #vim /etc/ntp.conf

 #NTP Server List
 server 100.100.100.110 iburst
 #service ntpd restart
 
 rdate - ntp 서버의 정보 확인
 #rdate [NTP서버]
 -s 지정한 ntp 서버의 시간으로 시스템 시간을 동기화
 
 #yum -y install rdate
 
 Server-A
 ex) #rdate -s time.bora.net
 
 clock - CMOS 시간 명령어 (H/W에서 사용하는 시간)
 -w 리눅스 시스템 시간으로 CMOS시간을 조정
 -s CMOS시간을 리눅스 시스템의 시간으로 조정
 
#cd /root
#vim ntp_script.sh
1 #!/bin/bash
2 /usr/bin/rdate -s time.bora.net && /sbin/clock -w

#chmod 777 /root/ntp_script.sh

 

 

 설정1) 매일 새벽1시에 /root/ntp_script.sh가 실행되도록 crontab 수정

#cat /etc/crontab                                                // 양식 확인
crontab -e // crontab 편집
0 1 * * * /root/ntp_script.sh

서버에서 시간정보가 중요한 이유
1. 예약작업의 실행 불가능한 상황 방지
2. 로그에 대한 신뢰도
3. 백업 시점, 인증 ( 암호화 인증 프로토콜 과정에서 Timestamp 및 Lifetime (TTL)
                      정보가 있기때문에 시간정보가 다르면 인증이 불가능하다.)
 
 
scp - SSH프로토콜을이용하여 만들어진 암호화 터널을 이용하여 데이터를
       주고 받는 명령어
  
   Server-A                                             Server-B
   #cd /root                                            cd /root
   #touch FILE-A                                      #touch FILE-B
  
로컬 원격지
   #scp [원본파일] [계정명]@[서버아이피주소]:[경로명]
 
  SERVER-A  ----> SERVER-B
 
1. #scp /root/FILE-A root@100.100.100.120:/root
2. #scp /root/FILE-A root@100.100.100.120:~
3. #scp /root/FILE-A 100.100.100.120:~ // 계정명을 명시하지 않으면
                                                       root계정

SERVER-A <------- SERVER-B

Server-A
#scp root@100.100.100.120:~/FILE-B /root


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Foundation > - Linux' 카테고리의 다른 글

VMwareTools & NC(NetCat)  (0) 2017.05.16
응급처치 & GRUB설정  (0) 2017.05.16
프로세스(Process)??  (0) 2017.05.12
DHCP ??!  (0) 2017.05.11
파이프&필터(grep)&cut&리다이렉션  (0) 2017.05.10