리눅스 (Linux)2015. 12. 24. 23:56

[리눅스] Telnet 접속 방법

텔넷에 접속하는 방법을 설명하기에 앞서, 먼저 텔넷이라는 프로그램 패키지를 다운받아 설치 하여야

한다. 리눅스 내에서 패키지를 설치 하기 위해서는 "rpm yum" 이라는 명령어를 이용해야 한다.

이둘 명령어의 차이점은패키지마다 의존성이 있는 패키지가 있는데 예를 들면 Telnet

실행하려면 xinetd 라는 패키지가 또 필요하기 때문에 이런것을 의존성이 있다고 한다.

rpm은 이런 프로그램들을 모두 찾아서 설치해주어야 하고, yum은 그런 의존성이 있는 패키지도 모두 자동으로 찾아주어 다운로드까지 해주고 설치까지 해주기때문에 yum 명령어가 훨씬 편리하다고 볼 수 있다.

http://postfiles5.naver.net/20150226_84/rlaghals9_1424920687141okkav_JPEG/1.jpg?type=w3

 

이런식으로 yum intall 명령어를 사용해서 텔넷을 구동하는 패키지를 모두 설치 할 수 있고, 명령어 뒤에 -y를 붙이면 설치할 때 y를 입력할 필요없이 자동으로 설치를 해준다.

 

http://postfiles16.naver.net/20150226_47/rlaghals9_1424920947716JJRsA_JPEG/2.jpg?type=w3

 

"rmp -qa" 라는 명령어를 통해 리눅스내 설치된 패키지를 확인 할 수 있는데,

grep 를 통해서 Telnet이 잘 설치 됬는지 확인 할 수 있었다.

 

http://postfiles8.naver.net/20150226_215/rlaghals9_1424921067737XmHyT_JPEG/3.jpg?type=w3

 

커널내에서 텔넷에 접속하려니 접속이 되지 않는다.

텔넷 내에 접속을 시도하기 위해서는 또다른 설정이 필요 하다.

 

http://postfiles7.naver.net/20150226_70/rlaghals9_1424921443391XFsUl_JPEG/4.jpg?type=w3

서비스를 구동해주는 데몬에 standalone xinetd가 존재 하고 있다.

standalone는 항상 준비형태이고 서비스를 항상 실행시켜 주고 있어서, 메모리 부하가 심한반면,Xinetd standalone에 속해서 실행되어져 있다가, 사용자가 요청시에 그 서비스를 실행시켜주고 사용을 다하면 종료시키는 형태이기 때문에 메모리 부하가 적은 편이다.

텔넷은 xinetd에 속해져 사용자가 요청시에 실행시켜 주는 것이다.

텔넷은 평소에 사용하는 ssh와 똑같은 원격접속형태인데, ssh가 암호화된 접속인 반면에

텔넷은 암호화가 되어 있지 않다.

 

우선 텔넷을 활성화 시켜주어야 한다.

최초로 /etc/xinetd.d/ 디렉토리내에 telnet이란 파일을 수정해 주어야한다.

http://postfiles5.naver.net/20150226_276/rlaghals9_1424922323148kSBHN_JPEG/5.jpg?type=w3

 

vi에디터로 telnet 파일로 들어온 후에 모습이다.

여기서 user = root root의 권한으로 server=/usr/sbin/in.telnetd 텔넷을 실행 시켜준다고 이해하면 된다. 여기서 수정해줘야 할 곳은 disable(비활성화) yes로 되어있는데 no로 바꿔주면 텔넷이 활성화가 된다.

 

http://postfiles13.naver.net/20150226_220/rlaghals9_1424922600809T9WD8_JPEG/6.jpg?type=w3

수정 후 "service xinetd restart" 라는 명령어로 xinetd를 재시작 해주어야만 바꾼내용이 적

용이 된다.

 

http://postfiles11.naver.net/20150226_250/rlaghals9_1424922759646JEWzG_JPEG/7.jpg?type=w3

 

이제 텔넷을 이용할 수 가 있게 됬다. 최초엔 root로 로그인 할 수 없으므로, 일반사용자로 로그인후root로 사용자 변환을 하면 된다.

여기서 윈도우로 텔넷에 접근 할 수 있는지 확인해 보아야 한다.

http://postfiles16.naver.net/20150226_15/rlaghals9_14249229233034YKrw_JPEG/8.jpg?type=w3

 

윈도우 cmd 내에서 똑같이 접속을 하려 했지만, 접속에 실패 했다.

 

일단 원격접속을 하기 위한 서버는 열렸기 때문에 나 자신의 리눅스 커널내에서는 접속이 가능했지만, 다른 곳에서 접속하려고 했기 때문에 2가지 문제로 볼 수 있다.

 

1. 윈도우일 경우 윈도우 내에 텔넷이 활성화 되지 않은 경우.

2. 방화벽 문제로 인해 접속 할 수 없는 경우.

 

http://postfiles9.naver.net/20150226_168/rlaghals9_1424923094443L3ymW_JPEG/9.jpg?type=w3

http://postfiles5.naver.net/20150226_4/rlaghals9_14249230946024TXx3_JPEG/10.jpg?type=w3

 

여기서 1번의 문제의 경우엔 윈도우내 제어판에서 위의 캡쳐처럼 텔넷 클라이언트를 체크해주면 해결된다. 현재 윈도우7을 사용중 이기 때문에 다른 OS에서는 다를 수도 있다...

2번의 문제에 경우에 방화벽 문제를 해결하기 위해서 telnet의 접속포트를 알아야 한다.

 

일반적으로 ssh 22포트를 사용해서 접속 해왔지만, 텔넷은 다른 포트를 사용한다.

http://postfiles15.naver.net/20150226_158/rlaghals9_1424923322189P5Ogo_JPEG/2015-02-26_13-01-49.jpg?type=w3

 

/etc/services 라는 파일안에서 vi 에디터를 통해 telnet을 검색했더니 23포트를 이용한다는 것을 알아냈다.

 

 

이제 텔넷에 대한 방화벽을 비활성화 시켜주는 것만 남았다.

http://postfiles6.naver.net/20150226_165/rlaghals9_1424923503031yAtJk_JPEG/11.jpg?type=w3

 

/etc/sysconfig/ 디렉토리 내에 iptables 라는 이 파일이 방화벽에 대한 파일이다.

 

vi 에디터로 접속후에 위의 캡쳐 내, 빨간박스 안에 첫번째 내용을 그대로 복사해서 뒤에 포트 숫자를

23으로만 바꾸어주었다. 모든 내용을 다 해석 할 수는 없지만, 대충 tpc로 사용하고 23포트를 accept

 

, 허용 한다고 볼 수 있겠다. drop라고 되있다면 차단한다는 의미이다.

 

http://postfiles5.naver.net/20150226_148/rlaghals9_1424923723917ek02Y_JPEG/12.jpg?type=w3

 

이제 수정을 했으니 방화벽 또한 "service iptables restart" 명령어로 재시작을 해준다.

 

http://postfiles6.naver.net/20150226_181/rlaghals9_1424923876049RLPDg_JPEG/13.jpg?type=w3

 

 

"netstat -ntlp" 명령어를 통해 23포트의 무언가 활성화 된 것도 확인 할 수 있었다.

 

당연히 위에서 텔넷을 활성화 했으니 텔넷일 것이다.

http://postfiles10.naver.net/20150226_233/rlaghals9_1424924136031cl7XL_JPEG/14.jpg?type=w3

 

이제 윈도우 cmd 내에서 "telnet 아이피주소 포트" 로 포트까지 입력 시켜주니 원활히 접속

 

이 되었다!!!

 

이런식으로 다른 서비스들도 활성화 시켜 줄 수 있다는 생각이 든다...!!

 


Posted by 랩퍼우