r잡초처럼
바른 프로그래밍
r잡초처럼
전체 방문자
오늘
어제
  • 분류 전체보기 (124)
    • FastAPI (7)
    • 끄적끄적 (2)
    • Python (17)
    • Django (31)
    • Database (2)
    • Docker (7)
    • 디자인패턴 (2)
    • CS 공부 (12)
      • 알고리즘 (2)
      • 자료 구조 (1)
      • 네트워크 (7)
      • IT 지식 (1)
      • 운영체제 (1)
    • 기타 팁들 (10)
    • Aws (2)
    • 독서 (1)
    • 코딩테스트 공부 (1)
      • 백준 (0)
      • 프로그래머스 (1)
    • DevOps (13)
    • TIL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 랜과 왠
  • dotenv
  • 컴퓨터 기본 지식
  • validate
  • 상속과 컴포지션
  • 전기 신호
  • Batch
  • 파이썬 클린 코드
  • 7장
  • fastapi
  • pycharm
  • 모두의 네트워크
  • 네트워크
  • 케이블의 종류
  • pytest
  • encoding
  • preonboarding
  • query param
  • 6장
  • poetry
  • CS 지식
  • 상속 안티 패턴
  • 5장 회사에서 하는 랜 구성
  • 책 리뷰
  • 물리 계층
  • 완벽한 IT 인프라 구축을 위한 Docker
  • cp949
  • 랜 카드
  • docker
  • depends

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
r잡초처럼

바른 프로그래밍

DevOps

SSH 터널링(포트 포워딩)

2023. 2. 4. 00:35

1. 포트 포워딩이란

1.1 Port란?

위키 백과에서 포트는 인터넷 프로토콜 스위트에서 운영 체제 통신의 종단점이라고 한다. 네트워크 서비스나 특정 프로세스를 식별하는 논리 단리라고 한다. 여기서 식별이라 함은 port를 통해 서비스를 찾아갈 수 있다.

예를 들어보자 Django로 로컬에 웹 서버를 띄울 떄 console에는 다음과 같은 창이 뜬다.

Starting development server at http://127.0.0.1:8000/

IP:Port 번호인데 8000번이 아닌 8001을 입력하면 해당 서버에 접속할 수 없다. 이렇듯 Port를 통해 식별을 할 수 있다. 

1.2 포트포워딩?

포트 포워딩은 특정 포트로 들어오는 것을 다른 포트로 바꿔서 다시 전송하는 것이다. 만약 외부에서 210.XXX.XXX.X:8001 이란 IP와 Port로 요청이 들어왔을 때 포트포워딩을 통해 내부 IP 192.XXX.XXX.X:8000번으로 포워딩을 시킬 수 있다.

2. SSH 포트 포워딩을 사용하는 이유

(SSH 포트포워딩은 다른 말로 SSH 터널링이라고도 불린다. )

그렇다면 왜 SSH 터널링을 사용하는 걸까? 간단하다 편해서! 우리는 원격 서버로 접속할 때 보안상의 이유로 방화벽이 허용하지 않은 포트로는 접속할 수 없다. 하지만 SSH 터널링을 사용하면 방화벽을 우회하여 내부의 서비스로 접속할 수 있다. 일례로 Python의 라이브러리 중 하나인 sshtunnel 패키지는 remote_bind_address 인자를 제공하는데 여기에 DB 접속 정보를 입력하면 방화벽 설정을 하지 않아도 내부의 DB에 접속할 수 있다.


참고

https://www.cbtnuggets.com/blog/technology/networking/what-is-ssh-port-forwarding

 

What is SSH Port Forwarding?

If you’re a network admin, understanding SSH port forwarding is a must. It can help you secure network traffic, which is crucial to keeping data safe. Continue Reading

www.cbtnuggets.com

 

'DevOps' 카테고리의 다른 글

따라하며 배우는 도커와 CI 환경 - 1. 도커란  (0) 2023.03.03
Github Actions CI/CD 알아보기 - 1  (1) 2023.02.24
배포전략 - 카나리 배포전략  (0) 2023.02.18
SSH 계정 및 DB 서버 계정 생성 및 DB 외부 접속 허용하기  (0) 2023.01.19
[Nginx] 리버스 프록시란?  (0) 2023.01.14
    'DevOps' 카테고리의 다른 글
    • Github Actions CI/CD 알아보기 - 1
    • 배포전략 - 카나리 배포전략
    • SSH 계정 및 DB 서버 계정 생성 및 DB 외부 접속 허용하기
    • [Nginx] 리버스 프록시란?
    r잡초처럼
    r잡초처럼
    오늘보다 내일 더 나은 개발자가 되기 위한 노력을 기록하는 블로그 입니다.

    티스토리툴바