선 조치 후 분석

SSH (Secure Shell)이란? 본문

ETC/IT Knowledge

SSH (Secure Shell)이란?

JB1104 2024. 12. 26. 14:15
728x90
반응형
SMALL

SSH(Secure Shell)

  • 네트워크를 통해 안전하게 원격 컴퓨터에 접속하거나 데이터를 전송하기 위한 암호화된 통신 프로토콜
  • Linux/Unix 시스템에서 원격 서버 관리를 위해 사용되며, 보안이 강화된 방식으로 데이터를 주고받을 수 있다.
  • SSH는 기본적으로 TCP 포트 22번을 사용
  • 다양한 목적으로 활용되지만, 가장 대표적인 사용 사례는 원격 로그인과 명령실행

 

SSH 특징

  • 암호화된 통신
    클라이언트와 서버 간의 데이터를 암호화하여 전송하므로, 네트워크 상에서 패킷을 가로채더라도 내용을 해독할 수 없다
  • 인증
    SSH는 비밀번호 기반 인증뿐만 아니라 공개 키/개인 키(Public Key/Private Key) 방식으로도 인증 가능
    공개 키 방식은 비밀번호보다 훨씬 안전하며, 자동화 작업에 적합
  • 다양한 기능
    원격 로그인 : 서버에 접속하여 명령어를 실행
    파일 전송 : SCP, SFTP를 사용해 파일을 전송
  • 터널링(Tunneling)
    네트워크 트래픽을 SSH 연결로 라우팅

사용하는 이유

  • 보안성
    암호화된 통신을 제공하므로, 데이터를 안전하고 주고받을 수 있음
    기존의 텔넷(Telnet)이나 FTP는 암호화되지 않은 데이터를 전송하여 보안에 취약했지만, SSH는 이를 대체하여 안전성 보장
  • 원격 서버 관리
    서버에 직접 물리적으로 접근하지 않고도 SSH를 통해 명령어 실행, 설정 변경 등 서버 관리 작업을 수행
  • 파일 전송
    SSH를 기반으로 한 SCP(Secure Copy), SFTP(Secure File Transfer Protocol)를 사용하여 안전한 파일 송수신
  • 포트 포워딩/터널링
    SSH 터널링을 통해 네트워크 트래픽을 안전하게 라우팅 하거나 방화벽을 우회할 수 있음
    예: 로컬 머신에서 원격 데이터베이스에 접근
  • 자동화 지원
    공개 키/개인 키 방식을 이용하면 비밀번호 없이 인증이 가능해, CI/CD 파이프라인, 배포 자동화 등에서 활용
  • 플랫폼 독립성
    SSH는 Windows, macOS, Linux 등 대부분의 운영체제에서 사용할 수 있음

 

SSH 작동 원리

  1. 세션 초기화
    클라이언트가 서버에 접속 요청 
  2. 서버 인증
    서버는 자신의 공개 키를 클라이언트에 제공
    클라이언트는 서버의 공개 키를 사용해 서버의 신뢰성 확인
  3. 클라이언트 인증
    클라이언트는 비밀번호 또는 개인키를 사용해 서버에 인증 요청
  4. 암호화된 통신 시작
    인증이 완료되면, 클라이언트와 서버 간의 데이터는 암호화되어 안전하게 전송

 

SSH의 대표적인 활용 예

  • 1. 원격 서버 관리
    클라우드 서버(AWS EC2, Azure, GCP) 접속 및 관리
  • 2. 배포 자동화
    CI/CD 파이프라인에서 SSH로 서버에 접속해 애플리케이션 배포
  • 3. 보안 파일 전송
    민감한 데이터를 안전하게 전송
  • 4. 터널링
    로컬 머신에서 원격 데이터베이스에 접근하거나 방화벽 우회

결론

SSH는 원격 시스템 관리를 위한 강력하고 안전한 도구로, 보안성편리성확장성이 뛰어나기 때문에
시스템 관리, 네트워
크 관리, 그리고 DevOps 환경에서 필수적으로 사용

728x90
반응형
LIST