튜토리얼

별도 앱 없이 iOS에서 Tailscale 설정하기

TermAI 내장 Tailscale 클라이언트 설정 가이드. OAuth부터 첫 SSH 연결까지 5분 이내.

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

왜 Tailscale을 내장했나

셀프호스트하는 것을 운영하고 있다면 ── 홈랩, 자체 Tailscale 네트워크 뒤에 있는 VPS 몇 대, 작은 사무실 ── iOS에서 우리와 같은 마찰을 경험했을 것입니다: Tailscale 앱을 열어 터널을 올리고, SSH 앱으로 전환, 터널이 아직 끊기지 않았기를 바라고, 끊기면 다시 전환해 재연결. 모바일에서 이 컨텍스트 전환은 들리는 것보다 무겁습니다. iOS는 적극적으로 앱을 일시 중지하고; 비공개 호스트명에 SSH가 도달하려면 Tailscale이 살아 있어야 합니다.

그래서 Tailscale SDK를 직접 내장했습니다. 두 번째 앱 없음. TermAI를 열면 터널은 앱 생명주기의 일부입니다. tailnet 기기가 마치 공용 인터넷에 있는 것처럼 SSH 목록에 나타나고, WireGuard 암호화 경로가 아래에서 처리됩니다.

전제 조건

  • Tailscale 계정(기기 100대까지 무료)
  • tailnet에 sshd를 실행하는 최소 한 대의 기기 ── Mac, Linux 서버, Raspberry Pi 등 무엇이든
  • iOS 16 이상에 TermAI 설치

아직 tailnet이 없다면 먼저 tailscale.com에서 가입하고 Mac 또는 Linux 박스에 Tailscale을 설치하세요. 5분 ── 기다리겠습니다.

TermAI에서 Tailscale 활성화

  1. TermAI 열기 → 설정네트워크
  2. Tailscale 토글 켜기
  3. 처음에 iOS가 VPN 구성 추가 권한을 요청합니다. 이것이 iOS에서 WireGuard가 작동하는 방식 ── OS가 터널을 처리하고 TermAI가 통신. 허용을 탭하세요.

구성 프롬프트는 한 번뿐. 이후로는 TermAI를 열 때마다 터널이 자동으로 올라옵니다.

OAuth로 로그인

토글이 켜진 후 TermAI가 로그인을 요청합니다. Tailscale로 로그인을 탭. Safari로 이동해 Tailscale OAuth 흐름(Google / GitHub / Microsoft / Okta, 계정이 사용하는 것)을 거쳐 TermAI로 돌아옵니다.

공식 Tailscale OAuth API 사용. 비밀번호가 TermAI에 입력되지 않으며 Tailscale 자격 증명을 저장하지 않습니다.

로그인은 기기별. iPhone과 iPad 모두 로그인하면 Tailscale 관리 콘솔에서 두 기기가 별도로 표시됩니다 ── 모바일에 다른 액세스 권한을 부여하려는 ACL에 유용.

첫 tailnet SSH

SSH 목록으로 돌아가 +를 탭해 새 연결 추가. 호스트명을 입력하는 대신 양식 상단의 Tailnet 탭을 탭. 현재 온라인 상태인 모든 tailnet 기기 목록이 표시됩니다.

하나를 탭 ── 예를 들어 nas라는 이름의 홈랩 박스. TermAI가 자동 입력:

  • 호스트: 기기의 tailnet IP(100.x.y.z)
  • 사용자명: 비어 있음 ── 입력하세요
  • 포트: 22(sshd가 다른 곳에서 실행되면 덮어쓰기)

사용자명을 추가하고, TermAI 키 관리자에서 개인 키 선택(또는 새로 생성), 저장. 연결을 탭. 들어갔습니다.

MagicDNS 호스트명 사용

숫자 tailnet IP도 작동하지만 MagicDNS는 삶을 더 좋게 만듭니다. tailnet에서 MagicDNS를 활성화하면 호스트명으로 연결 가능 ── ssh 100.96.4.21 대신 ssh nas.

Tailscale 관리 콘솔의 DNS에서 MagicDNS 활성화. TermAI는 자동으로 감지 ── 활성화 후 Tailscale 토글을 한 번 재시작해 리졸버 새로 고침. 이후 SSH 양식의 호스트 필드는 nas를 직접 받습니다.

문제 해결

Tailscale 기기가 피커에 표시되지 않습니다.터널이 실제로 올라왔는지 확인: 설정 → 네트워크 → Tailscale → 상태. "연결 중"으로 계속 표시되면 iOS 기기가 VPN 구성을 수락하지 않은 것 ── 토글을 다시 켜고 iOS 프롬프트를 다시 수락.

Wi-Fi에서는 작동하지만 셀룰러에서는 안 됨.일부 통신사는 Tailscale이 선호하는 UDP를 차단; 클라이언트는 자동으로 DERP 릴레이로 폴백하지만 폴백은 더 느림. 셀룰러에서 일관되게 느리면 고급 설정에서 DERP 강제.

tailnet 연결 성공 후 "Permission denied (publickey)".터널은 올라옴; SSH 인증 실패. 사용자명을 다시 확인하고 TermAI 공개 키가 서버의 ~/.ssh/authorized_keys에 있는지 확인. 이 시점에서 tailnet 부분은 무관.

하나 더: Tailscale은 중국 본토 빌드에서 현지 규정에 따라 비활성화됩니다. 해당 지역으로 출시한다면 /docs/china에서 대체 네트워킹 경로 참조.

핵심 요약

  • Tailscale 내장: 휴대폰에 별도 VPN 앱 설치 불필요
  • 설정: Tailscale API 키와 tailnet 입력 시 홈 탭이 기기 목록으로 변환
  • 원탭 연결: 온라인 기기에 SSH 및 SFTP 단축 버튼 표시
  • 포트 포워딩 불필요: tailnet의 안정적인 100.x 주소로 어디서나 비공개 서버 접속
  • 양 플랫폼 동일: iOS와 Android의 내장 Tailscale 동일
TermAI 사용해 보기

iOS/Android 무료. 무료 플랜은 AI 5회/일, SSH/SFTP 무제한, 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