열정 실천

SSH와 포트포워딩으로 외부에서 원격 접속하기 본문

CS/OS

SSH와 포트포워딩으로 외부에서 원격 접속하기

구운오니 2024. 9. 13. 15:25
728x90

 

SSH : Secure SHell 

 

"원격 호스트에 접속하기 위해 사용되는 프로토콜"

 

네트워크상의 다른 컴퓨터에 로그인하여 명령을 실행하고 정보를 보고 받을 수 있도록 해주는 통신 프로토콜

사용자가 접속에 사용하는 컴퓨터를 클라이언트, 접속하고자 하는 목적지 컴퓨터를 서버라고 한다. 

 

Shell 쉘

 

OS 커널과 사용자 간의 다리 역할로 사용자로부터 명령어를 받으면 그것을 해석하고 실행하는 역할을 한다. 우리가 윈도우에서 흔히 사용하는 cmd 창과 같은 것이다. 

 

ssh 사용 이유

 

- 사용자 및 자동화된 프로세스에 원격 접속 시 

- 자동화된 파일 전송 시 

- 원격 명령 실행 시 

- 네트워크 인프라와 중요 시스템 관리 시

👉 안전한 통신을 하기 위해 사용한다.

 

 



포트포워딩

 

내부 네트워크에 있는 특정 기기에 접근할 수 있도록 외부에서 보내는 네트워크 트래픽을 특정 포트로 전달하는 과정이다. 

 

 

<포트포워딩 규칙 생성>

 

- 프로토콜

- 호스트 IP (원격 접속하려는 컴퓨터의 IP주소) 

- 호스트 포트 (임의 설정)

- 게스트 IP (원격 접속을 받아주는 컴퓨터의 IP주소) 

- 게스트 포트 (임의 설정)

 

* IP주소는 터미널 창에서 ipconfig 명령어를 입력하면 확인할 수 있다. 

 ** 보통 서버 관리자들이 서버에 원격으로 접속할 때는 SSH 서비스가 구동되는 포트 22를 통해 접속한다.

 

 

게스트 IP호스트 IP는 주로 가상화 환경에서 사용되는 개념으로, 게스트가상 머신(VM)이나 컨테이너와 같은 가상화된 시스템을, 호스트는 그 가상화를 제공하는 실제 물리적 시스템을 의미한다. 현재 실습환경에서 가상머신인 Virtual box - CentOS 환경이 게스트, 내 윈도우 환경이 호스트이다. 

 

 

 

 

SSH 설치하고 서비스 시작하기!

 

 

SSH 설치

 

윈도우 터미널에서 Virtual box 가상환경에 SSH 접속할 수 있도록 SSH를 설치해준다. 

$ sudo yum instll openssh-server

 

ssh 설치 후 

$ sudo vim /etc/ssh/sshd_config 

sshd_config 파일에서 port 22의 주석을 제거해준다. 

 

ssh 서비스 시작하기

 

$ service sshd start

$ service sshd statuc

 

ssh 실행하고 status로 확인해보면 service가 enabled 된 것을 확인할 수 있다. 

 

 

window 터미널에서 ssh 접속!!

 

$ ssh -p [설정한 호스트 포트번호]  [사용자이름@호스트 IP번호]

 

🎇 연결 성공 🎇

 

 

 

 

 

텔넷 Telnet 

 

텔넷은 SSH 이전에 사용하던 원격 접속 방식으로 암호화를 제공하지 않아 wireShark와 같은 패킷 분석 프로그램을 이용하면 원격 접속 중에 주고 받는 데이터의 내용을 그대로 확인할 수 있다. 이처럼 보안이 취약하기 때문에 현재는 잘 사용하지 않는다. 

 

윈도우 터미널에서 Telnet 연결 후 WireShark를 통해  주고 받는 패킷 데이터 확인



728x90