Guide

연결 설정 & VPN

자동 재연결, Keep-Alive, Port Forwarding, Jump Host, VPN 설정

연결 설정 & VPN

MTerm은 자동 재연결부터 Keep-Alive 간격까지 연결 동작에 대한 세밀한 제어를 제공해요. 이 가이드에서는 모든 연결 설정, Port Forwarding, Jump Host 구성, 방화벽 뒤의 서버에 접근하기 위한 VPN 옵션을 다뤄요.


연결 설정

이 설정들은 MTerm이 SSH 연결을 관리하는 방식, 특히 백그라운드 전환과 재연결과 관련된 동작을 제어해요. 모두 호스트별 또는 전역 설정에서 구성할 수 있어요.

설정기본값설명
자동 재연결ON백그라운드에서 MTerm으로 돌아올 때 자동으로 재연결해요. 이것이 없으면 앱을 전환할 때마다 수동으로 재연결해야 해요.
최대 재시도10포기하기 전의 최대 재연결 시도 횟수. 서버가 일시적으로 접근 불가능한 경우 MTerm이 이 제한까지 계속 시도해요.
재시도 간격3초재연결 시도 사이의 대기 시간. 짧은 간격은 더 빨리 재연결하지만 서버에 더 많은 연결 시도를 생성해요.
Keep-Alive30초MTerm이 서버에 Keep-Alive 핑을 보내는 빈도. 방화벽과 NAT 기기가 유휴 연결을 닫는 것을 방지해요. 유휴 상태에서 연결이 끊어진다면 이 값을 줄여보세요.
Shell 재시작 임계값300초앱이 이 시간보다 오래 백그라운드에 있었으면 Shell 세션을 재개하지 않고 재시작해요. 오래된 Shell 상태의 문제를 방지해요.
백그라운드 연결 해제OFF활성화하면 앱이 백그라운드로 전환될 때 MTerm이 TCP 연결을 끊어요. 연결 해제 전 지연을 설정할 수 있어요. 한동안 자리를 비울 것을 알 때 서버 리소스와 배터리를 절약해요.
Shell 종료 동작자동 닫기원격 Shell이 종료될 때 (예: exit를 입력하거나 서버가 연결을 끊을 때) 어떻게 할지. 옵션: 자동 닫기 (탭 즉시 닫기), 확인 (닫을지 물어보기), 또는 열어두기 (종료 상태를 보여주면서 탭을 열어둠).

다양한 시나리오에 대한 권장 설정

불안정한 Wi-Fi (카페, 컨퍼런스):

  • 자동 재연결: ON
  • 최대 재시도: 20
  • Keep-Alive: 15초
  • 더 나은 안정성을 위해 SSH 대신 Mosh 사용을 고려하세요

안정적인 네트워크 (집/사무실):

  • 기본 설정이 잘 작동해요
  • 불필요한 트래픽을 줄이기 위해 Keep-Alive를 60초로 늘릴 수 있어요

배터리 절약:

  • 백그라운드 연결 해제: ON (30초 지연)
  • Shell 재시작 임계값: 30초

Port Forwarding

Port Forwarding을 사용하면 원격 서버의 서비스에 로컬에서 실행되는 것처럼 접근하거나, 로컬 서비스를 원격 네트워크에 노출할 수 있어요.

Local Port Forward (-L)

Local Port Forward는 기기의 포트에서 수신하고 원격 서버에서 접근 가능한 대상으로 트래픽을 터널링해요.

예시: 원격 서버가 로컬 연결만 허용하는 PostgreSQL 데이터베이스를 포트 5432에서 실행하고 있어요. Local Port Forward를 설정하세요:

  • 로컬 포트: 5432
  • 원격 호스트: localhost
  • 원격 포트: 5432

이제 iPad의 모든 앱이 localhost:5432에 연결해서 서버의 데이터베이스에 접근할 수 있어요.

일반적인 활용:

  • 서버에서 실행 중인 웹 애플리케이션 접근 (포트 3000, 8080 등 포워드)
  • 데이터베이스 연결 (PostgreSQL, MySQL, Redis)
  • localhost에서만 수신하는 관리자 패널 접근

Remote Port Forward (-R)

Remote Port Forward는 원격 서버의 포트에서 수신하고 트래픽을 기기(또는 기기에서 접근 가능한 호스트)로 터널링해요.

예시: Mac에서 실행 중인 로컬 개발 서버(로컬 네트워크를 통해 iPad에서 접근 가능)를 원격 서버에 노출하고 싶어요:

  • 원격 포트: 8080
  • 로컬 호스트: 192.168.1.100
  • 로컬 포트: 3000

이제 원격 서버의 프로세스가 localhost:8080에 접근해서 로컬 개발 서버에 도달할 수 있어요.

Port Forward 관리

  • 호스트별 저장 — Port Forward가 호스트 구성의 일부로 저장되어서 연결할 때마다 준비돼요
  • 자동 재연결 — 터널이 끊어지면 MTerm이 자동으로 재설정해요
  • 개별 제어 — 각 Port Forward를 독립적으로 시작하고 중지
  • 상태 추적 — 각 Forward가 현재 상태를 표시: 활성, 중지됨, 시작 중, 오류, 또는 재연결 중

Jump Host (Bastion 서버)

많은 프로덕션 환경에서는 대상 머신에 직접 연결하는 대신 Bastion 서버(Jump Host라고도 함)를 통해 연결해야 해요. MTerm이 이를 투명하게 처리해요.

작동 방식

연결에 Jump Host를 구성하면 MTerm이 다음을 수행해요:

  1. Jump Host에 SSH 연결을 설정
  2. Jump Host를 통해 대상 서버로의 터널을 생성
  3. 터널을 통해 대상 서버에 두 번째 SSH 연결을 설정

사용자 관점에서는 원활해요 — 호스트를 탭하면 연결돼요. Jump Host 구성은 호스트 프로필의 일부로 저장돼요.

Jump Host를 통한 인증

MTerm은 Jump Host를 통한 RSA-SHA256 인증을 지원해요. 레거시 SHA-1 서명을 비활성화한 최신 SSH 서버도 Bastion 서버를 통해 접근할 때 올바르게 작동해요.

구성

호스트 설정에서:

  1. “Jump Host” 활성화
  2. Jump Host의 호스트 이름, 포트, 사용자 이름, 인증 자격 증명 입력
  3. 대상 호스트 설정은 평소대로 유지

VPN 설정

서버가 방화벽 뒤에 있거나 사설 네트워크에 있으면 iPad나 iPhone에서 접근하기 위해 VPN이 필요해요. MTerm은 네트워크 수준의 접근을 제공하는 모든 VPN과 작동하지만, 가장 인기 있는 두 가지 옵션을 소개할게요:

Tailscale

Tailscale은 기기와 서버를 연결하는 가장 쉬운 방법이에요. 방화벽 설정 없이 모든 기기 간에 안전한 메시 네트워크를 만들어줘요.

설정:

  1. 서버와 iPad/iPhone에 Tailscale 설치
  2. 두 기기 모두 같은 계정으로 로그인
  3. 서버가 Tailscale IP를 받아요 (예: 100.x.x.x)
  4. MTerm에서 Tailscale IP를 호스트 이름으로 사용

Tailscale이 NAT 통과, 키 관리, 방화벽 규칙을 자동으로 처리해요. 어떤 VPN을 사용할지 모르겠다면 Tailscale로 시작하세요.

WireGuard

WireGuard는 가볍고 고성능의 VPN 프로토콜이에요. VPN 인프라를 직접 호스팅하고 구성에 대한 최대한의 제어를 원한다면 이상적이에요.

Tailscale 대비 장점:

  • 타사 계정이 필요 없어요
  • 네트워크 구성에 대한 완전한 제어
  • 더 낮은 오버헤드 (WireGuard는 Linux 커널에 내장)
  • 특정 서브넷만 라우팅하도록 설정 가능

설정:

  1. 서버에 WireGuard를 설치하고 VPN 서버로 구성
  2. iPad/iPhone에 WireGuard 앱 설치
  3. 클라이언트 구성을 가져오거나 생성
  4. VPN에 연결
  5. MTerm에서 서버의 사설 네트워크 IP를 호스트 이름으로 사용

기타 VPN 옵션

MTerm은 OS 수준에서 네트워크 연결을 제공하는 모든 VPN과 작동해요:

  • OpenVPN
  • IPsec/IKEv2
  • 기업 VPN 솔루션 (Cisco AnyConnect, GlobalProtect 등)

VPN이 기기에 서버 IP 주소로의 경로를 제공하는 한, MTerm의 SSH 연결이 이를 통해 작동해요.