튜토리얼

모바일에서의 Tailscale SSH: 완전 설정 가이드(2026)

휴대폰에서 Tailscale로 SSH 설정하기: 포트 포워딩 없이 서버의 프라이빗 tailnet IP로 접속하고, Tailscale SSH(tailscale up --ssh)를 켜고 ACL로 접근을 제어하는 방법.

CC Chen Chen· 창업자·2026년 6월 24일·6분 분량

모바일에서 Tailscale + SSH, 짧은 버전

Tailscale은 휴대폰과 서버를 하나의 프라이빗 네트워크(“tailnet”)에 넣고 각각에 안정적인 프라이빗 IP를 부여합니다. 그래서 포트 포워딩을 하거나 SSH를 인터넷에 노출하지 않고도 어디서나 서버에 SSH로 접속할 수 있습니다. 사람들이 “Tailscale SSH”라고 할 때는 보통 관련된 두 가지를 의미합니다:

  • Tailscale을 통한 SSH — 서버의 프라이빗 tailnet IP에 접속해 평소의 SSH 키로 로그인합니다. 모바일 SSH 클라이언트에서 하는 것이 바로 이것이며, 가장 흔한 경우입니다.
  • Tailscale SSH(기능 이름) — 서버 측 옵션(tailscale up --ssh)으로, Tailscale 자체가 사용자의 ID와 ACL을 사용해 tailnet 노드 간 SSH를 인증합니다. 따라서 이런 연결에서는 키를 관리하지 않아도 됩니다.

이 글에서는 두 가지를 모두 휴대폰에서 설정합니다.

1단계 — 휴대폰과 서버를 tailnet에 합류시키기

  1. 각 서버에 Tailscale을 설치하고 로그인합니다(tailscale up). 각각 100.x 프라이빗 IP와 MagicDNS 이름을 받습니다.
  2. 휴대폰을 tailnet에 합류시킵니다. Tailscale 앱을 설치하거나, 그것이 내장된 클라이언트를 사용합니다 — TermAI는 Tailscale을 내장하고 있어 두 번째 앱 없이도 휴대폰이 tailnet에 합류합니다. iPhone에서의 Tailscale을 참고하세요.

2단계 — tailnet을 통한 SSH

이제 SSH 클라이언트에서 연결을 추가합니다. 공용 주소 대신 서버의 tailnet IP(또는 MagicDNS 이름), 포트 22, 사용자 이름, 키를 사용합니다. tailnet은 프라이빗하고 항상 켜져 있으므로 서버는 셀룰러나 어떤 Wi-Fi에서도 도달 가능합니다 — 그리고 아무것도 공용 인터넷에 노출되지 않습니다.

휴대폰에서 Tailscale을 통해 라우팅된 SSH 연결, 인증 성공 표시
Tailscale을 통한 SSH: 클라이언트가 서버의 프라이빗 tailnet 주소로 도달해 인증합니다 — 포트 포워딩 없음, 인터넷에 열린 것도 없음.

3단계(선택) — 서버에서 Tailscale SSH 켜기

자신의 기기 간 SSH 인증을 Tailscale이 처리하게 하려면 서버에서 이 기능을 활성화합니다:

sudo tailscale up --ssh

이제 tailnet에서 오는 연결(ACL이 관리)은 사용자가 관리하는 키가 아니라 Tailscale ID로 인증됩니다. 누가 무엇에 SSH할 수 있는지는 tailnet 정책 파일에서 제어합니다 — 예를 들어, 사용자가 prod 태그에 도달하도록 허용합니다:

// tailnet 策略(ACL)——示例
{
  "ssh": [
    {
      "action": "accept",
      "src":    ["autogroup:member"],
      "dst":    ["tag:prod"],
      "users":  ["root", "autogroup:nonroot"]
    }
  ]
}

참고: Tailscale SSH는 tailnet ID로 인증합니다. 서드파티 모바일 SSH 클라이언트는 터널을 통해 여전히 사용자의 SSH 키를 제시합니다. --ssh 기능이 빛을 발하는 것은 Tailscale을 인식하는 엔드포인트 간의 키 없는 접근과, 접근 규칙을 ACL에 집중시키는 경우입니다.

휴대폰에서 타이핑을 줄여 하기

휴대폰에서 tailscale up --ssh를 입력하거나 ACL을 편집하다 보면 손가락이 미끄러지기 쉽습니다. 원하는 것을 TermAI 어시스턴트에게 설명하고 — “이 호스트에서 Tailscale SSH를 켜줘” — 실행하기 전에 명령을 검토하세요. 접속 중인 서버에 기반하므로 해당 배포판에 맞는 정확한 명령을 제시합니다.

TermAI가 Run 버튼과 함께 tailscale 명령을 제안하는 모습
정확한 tailscale 명령을 요청하고 실행 전에 검토하세요 — 휴대폰에서 tailnet을 구성할 때 편리합니다.

FAQ

Tailscale SSH와 “Tailscale을 통한 SSH”의 차이는 무엇인가요?
Tailscale을 통한 SSH는 서버의 프라이빗 IP에 접속해 평소의 SSH 키로 로그인하는 것을 뜻합니다. Tailscale SSH(--ssh)는 Tailscale이 ID와 ACL을 통해 tailnet 노드 간 SSH를 인증하는 기능으로, 이런 연결에서는 키를 관리하지 않습니다.

Tailscale로 SSH를 쓰려면 포트 22를 열어야 하나요?
아니요 — 그게 핵심입니다. 서버는 프라이빗 tailnet 주소에서 도달 가능하므로 포트 22를 공용 인터넷에 닫아 둘 수 있습니다.

iPhone이나 Android에서 Tailscale SSH를 쓸 수 있나요?
어떤 모바일 클라이언트에서도 tailnet을 통해 SSH할 수 있습니다(TermAI는 Tailscale을 내장). --ssh ID 기능 자체는 Tailscale을 인식하는 엔드포인트 간에서 가장 강력합니다. 서드파티 클라이언트에서는 터널을 통해 여전히 키를 제시합니다.

핵심 요약

  • Tailscale을 통한 SSH: 프라이빗 tailnet IP + 키로 접속 — 포트 포워딩 없음(모바일 기본)
  • Tailscale SSH(tailscale up --ssh): Tailscale이 ACL을 통해 tailnet 노드 간 SSH를 인증
  • 휴대폰 설정: tailnet에 합류(Tailscale 앱 또는 TermAI 내장) 후 프라이빗 IP로 SSH
  • 보안 이점: 포트 22를 공용 인터넷에 닫아 둘 수 있음
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog