이 포스트는 내부망에 위치한 A/S PC에 외부에서 안전하게 접속할 수 있도록 SSH 리버스 프록시를 활용하는 방법을 안내합니다.
두 가지 구성 방식을 포함하고 있습니다:
- 사용자 제어형 구성 (On/Off 연결 방식) 즉, 사용자가 제어하는 경우
- 운영자 자동 연결 유지형 구성 (지속 연결 방식) 즉, PC의 관리자가 제어하는 경우
구조도와 함께 실제 작동 원리는 아래와 같습니다.
전체 구성도

1. 사용자 제어형 구성 (On/Off 제어 방식)
구성 설명
이 방식은 A/S PC 사용자가 지원이 필요할 때 직접 명령어를 실행하여 Proxy PC에 리버스 터널을 생성하고, 지원이 끝나면 연결을 끊는 구조입니다. Client PC는 Proxy PC를 통해 터널링된 포트로 A/S PC에 접속합니다.
- 포트가 필요한 시점에만 열리므로 보안상 유리합니다.
- 데몬이나 systemd 없이 단발성 실행만으로 구성할 수 있어 간단합니다.
튜토리얼: 사용자 제어형 구성
1. Proxy PC 설정
sudo nano /etc/ssh/sshd_config
AllowTcpForwarding yes
GatewayPorts yes
sudo systemctl restart sshd
2. A/S PC에서 수동 연결 요청
ssh -N -R 10022:localhost:22 user@proxy_ip
3. Client PC에서 접속
ssh -p 10022 user@proxy_ip
2. 운영자 자동 연결 유지형 구성 (자동 리버스 터널)
구성 설명
이 방식은 A/S PC에서 지속적으로 Proxy PC로 리버스 SSH 터널을 유지하는 구조입니다. 연결이 끊기더라도 autossh 또는 systemd가 자동으로 복구하며, Client PC는 언제든지 Proxy PC를 통해 A/S PC로 접속할 수 있습니다.
- 지원 대기 상태 유지에 적합하며 운영자가 상시 점검할 수 있습니다.
튜토리얼: 자동 연결 유지형 구성
1. Proxy PC 설정
AllowTcpForwarding yes
GatewayPorts yes
sudo systemctl restart sshd
2. A/S PC에서 autossh 사용
sudo apt install autossh
autossh -M 0 -f -N -R 10022:localhost:22 user@proxy_ip
(선택 사항) systemd 서비스 등록
[Unit]
Description=Reverse SSH
[Service]
ExecStart=/usr/bin/autossh -M 0 -N -R 10022:localhost:22 user@proxy_ip
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable reverse-ssh
sudo systemctl start reverse-ssh
3. Client PC에서 접속
ssh -p 10022 user@proxy_ip
비교 요약
항목 | 사용자 제어형 | 운영자 자동 유지형 |
---|---|---|
연결 시점 | 필요할 때 수동 실행 | 항상 연결 유지됨 |
제어 주체 | A/S PC 사용자 | 서버 운영자 or 자동화 |
구성 복잡도 | 낮음 | 중간 이상 |
보안성 | 높음 (필요 시만 연결됨) | 상대적으로 낮음 (항상 연결) |
적합 대상 | 요청 기반 A/S 환경 | 상시 모니터링/대기 환경 |
확인 명령어
# 리버스 포트 열림 확인 (Proxy PC)
ss -lptn 'sport = :10022'
# SSH 연결 프로세스 확인 (A/S PC)
ps aux | grep ssh
이 포스트는 A/S 환경에서 원격 접속을 위한 리버스 프록시 설계에 필요한 기술적 지침을 제공하며, 다양한 현장 환경에 맞게 조정하여 사용할 수 있습니다.
'Infra' 카테고리의 다른 글
nginx를 활용한 HTTPS 인증 및 Reverse Proxy 구성 방식 (0) | 2025.05.13 |
---|---|
Prometheus + Blackbox Exporter로 서버 ICMP(Ping) Health Check 구성하기 (3) (0) | 2025.04.09 |
Prometheus + Blackbox Exporter로 서버 ICMP(Ping) Health Check 구성하기#2 (0) | 2025.04.08 |
Prometheus + Blackbox Exporter로 서버 ICMP(Ping) Health Check 구성하기 (0) | 2025.04.07 |