원격 접속으로 집 컴퓨터의 로컬 AI 쓰기, SSH와 테일스케일
집 컴퓨터의 로컬 AI를 원격으로 쓰려면 실행할 컴퓨터와 접속할 기기를 연결하고 접근 권한을 확인합니다. 이 글은 Tailscale로 기기를 연결하고 SSH로 Mac에 접속한 뒤 필요하면 tmux로 터미널 작업을 이어가는 예제를 설명합니다.
같은 말:SSH 원격 접속테일스케일 사용법집 컴퓨터 AI 서버tmux 세션로컬 AI 원격로컬 AI 보안로컬 AI 백업
🤔 집 컴퓨터의 작업을 밖에서 확인하고 싶을 때
집 컴퓨터에서 돌리던 로컬 AI 작업을 노트북이나 스마트폰으로 이어서 확인하고 싶을 수 있습니다. 이때 AI를 밖의 기기로 옮기는 것이 아니라 집 컴퓨터에 접속해 명령이나 결과를 주고받습니다.
먼저 두 기기를 구분합니다. 집 컴퓨터는 모델을 실행하는 기기, 노트북은 접속하는 기기입니다. 아래 명령은 집 컴퓨터와 접속하는 노트북이 모두 Mac인 예제입니다. Windows는 SSH 서버와 WSL 등의 구성이 달라 같은 설치 명령을 그대로 쓰지 않습니다.
🔑 세 도구의 역할 나누기
| 도구 | 이 예제에서 맡는 일 |
|---|---|
| Tailscale | 등록한 기기 사이에 암호화된 사설 네트워크 연결 제공 |
| SSH | 집 컴퓨터의 계정으로 인증하고 원격 터미널 사용 |
| tmux | 집 컴퓨터의 터미널 세션을 유지하고 다시 연결 |
세 도구가 모든 원격 접속에 반드시 필요한 것은 아닙니다. 한 번 명령을 실행하고 나오는 데는 tmux 없이 SSH만 사용할 수 있고 웹 화면은 별도 제공 방식이 필요합니다. 이 글에서는 연결 문제와 로그인 문제 및 세션 문제를 구분하기 위해 세 도구를 순서대로 익힙니다.
그림은 이 예제의 역할을 보여 줍니다. 집 컴퓨터가 종료되어도 작업이 유지된다는 뜻은 아닙니다.
🌐 먼저 Tailscale 연결 확인하기
Tailscale이 구성하는 사설 네트워크를 tailnet이라고 합니다. WireGuard 기반으로 기기 간 통신을 암호화하며 직접 연결이 어려우면 암호화된 데이터를 중계할 수 있습니다. 항상 기기끼리 직접 연결된다고 가정하지 않습니다.
- 집 Mac과 접속할 노트북에 공식 Tailscale 앱을 설치합니다.
- 본인 기기 두 대를 같은 tailnet에 로그인합니다. 다른 사람을 초대할 때는 계정 비밀번호를 공유하지 않고 별도 사용자로 초대합니다.
- 앱이나 관리 화면에서 두 기기가 연결된 상태인지 확인하고 집 Mac의 기기 이름 또는 Tailscale 주소를 기록합니다.
MagicDNS는 기기 이름으로 주소를 찾게 하는 기능입니다. 아래의 home-mac은 가상 이름이며 실제 화면의 이름으로 바꿉니다. 이름으로 연결되지 않으면 앱에 표시된 Tailscale 주소로 시험하여 이름 해석 문제인지 구분합니다.
2026년 10월 3일 요금 페이지는 Personal에 최대 6명과 사용자 기기 수 무제한을 안내합니다. 태그를 붙인 서버 자원 등에는 별도 한도가 있고 Personal은 비상업 개인용 조건입니다. 회사 업무에는 실제 이용 목적과 요금제 조건을 확인합니다.
Tailscale을 설치했다고 집이나 회사의 일반 네트워크에서 들어오는 연결이 자동으로 차단되는 것은 아닙니다. 필요한 사용자와 목적지만 허용하도록 tailnet의 접근 정책과 운영체제 방화벽을 함께 확인합니다. 접근 정책을 좁히는 방법은 아래 원격으로 열기 전에 잠글 것과 백업할 것에서 다룹니다.
🔐 집 Mac에서 원격 로그인 준비하기
SSH는 원격 컴퓨터에 암호화된 연결로 접속하는 방식입니다. 이 글은 macOS의 기본 SSH 서버를 사용합니다. Tailscale 자체의 별도 SSH 기능과 구분합니다.
집 Mac에서 시스템 설정 → 일반 → 공유 → 원격 로그인을 엽니다. 허용 사용자는 필요한 본인 계정으로 제한합니다. 연결 대상은 Tailscale 로그인 이메일이 아니라 집 Mac의 사용자 계정입니다. 집 Mac 터미널에서 whoami를 입력하면 현재 계정의 짧은 이름을 확인할 수 있습니다.
집 Mac이 켜져 있고 네트워크에 연결되어 있어야 합니다. 디스플레이 꺼짐과 시스템 잠자기는 다릅니다. 전원 설정은 사용하는 Mac에 맞게 확인하며, tmux나 VPN이 컴퓨터의 종료와 재부팅을 막아 주지는 않습니다.
첫 SSH 접속
노트북 터미널에서 다음 형식으로 실행합니다. user는 집 Mac의 계정 이름으로, home-mac은 확인한 기기 이름으로 바꿉니다.
ssh user@home-mac처음에는 접속 대상의 호스트 키 지문을 확인하라는 메시지가 나올 수 있습니다. 지문은 서버를 구분하는 식별값입니다. 집 Mac을 직접 조작할 수 있을 때 터미널에서 ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub로 ED25519 호스트 키 지문을 확인합니다. 접속 메시지도 ED25519인지 확인하고 같은 지문일 때만 승인합니다. 파일이 없거나 접속 메시지에 다른 종류의 키가 표시되면 그 종류의 호스트 키 파일로 지문을 확인하며, 모르는 상태로 승인하지 않습니다. 이 과정은 자신의 로그인용 공개키를 등록하는 것과 다릅니다.
비밀번호를 요구하면 집 Mac 계정의 비밀번호를 입력합니다. 입력 중 글자가 나타나지 않는 것은 정상입니다. 로그인 뒤 hostname과 whoami로 기기와 계정이 맞는지 확인합니다. 접속을 끝낼 때는 exit를 입력합니다.
공개키 인증은 기존 키를 보존하며 설정하기
SSH 키는 접속하는 기기에 두는 개인키와 집 Mac에 등록하는 공개키로 나뉩니다. 개인키는 공유하지 않습니다. 이미 사용하는 키가 있는지 먼저 확인하고 새 키를 만들 때 저장 경로의 기존 파일을 덮어쓰지 않습니다.
아래 명령은 노트북에서 새 키를 만드는 예입니다. 질문에 표시되는 저장 위치를 확인하고 개인키 보호용 암호를 설정합니다. 기존 파일을 덮어쓸지 묻는다면 중단하고 별도 이름을 정합니다.
ssh-keygen -t ed25519 -C "home-ai-access"생성한 .pub 공개키를 집 Mac 계정의 ~/.ssh/authorized_keys에 등록합니다. 기존 등록 내용을 지우지 않고 추가하며 디렉터리와 파일 권한을 확인합니다. ssh-copy-id가 모든 운영체제에 기본 설치된 것은 아닙니다. 자세한 등록 과정은 SSH 원격 접속 안내로 이어집니다.
새 터미널에서 키 인증이 되는 것을 확인하기 전에는 기존 접속을 닫거나 비밀번호 인증 설정을 바꾸지 않습니다. SSH 키 인증을 설정했어도 tailnet의 접근 허용과 Mac 계정 권한은 별도로 적용됩니다.
🖥️ tmux로 터미널 세션 이어가기
tmux는 원격 연결이 끊겨도 집 컴퓨터 안에서 실행 중인 터미널 세션을 유지하는 프로그램입니다. tmux 안에서 시작한 작업에 해당하며 이미 다른 터미널에서 시작한 작업을 자동으로 옮기지는 않습니다.
Homebrew는 Mac 프로그램을 명령으로 설치하는 도구입니다. 집 Mac에서 Homebrew를 이미 사용하는 경우 아래처럼 설치합니다. 설치되어 있으면 다시 설치할 필요가 없습니다.
brew install tmuxSSH로 집 Mac에 들어간 뒤 다음 명령을 실행합니다. 이름이 hub인 세션이 있으면 연결하고 없으면 새로 만듭니다.
tmux new -A -s hub세션 안에서 로컬 AI를 실행하면 다음 접속 때 같은 세션으로 돌아올 수 있습니다. 잠깐 나가려면 Ctrl+b를 누르고 손을 뗀 다음 d를 누릅니다. 이 동작은 세션을 종료하는 것이 아니라 화면 연결만 분리합니다.
exit로 마지막 셸을 종료하면 세션도 끝날 수 있습니다. 컴퓨터 재부팅이나 프로그램 오류로 중단된 작업을 tmux가 자동 복구하는 것도 아닙니다. 중요한 출력은 파일로 저장합니다. 동시에 여러 기기가 같은 세션에 붙으면 서로의 입력도 영향을 주므로 입력할 기기를 하나로 정합니다.
🔌 Ollama API는 SSH 터널로 연결하기
Ollama는 기본적으로 자기 컴퓨터의 127.0.0.1:11434에서 요청을 받습니다. 127.0.0.1은 항상 명령을 실행하는 그 컴퓨터 자신을 뜻합니다. 노트북의 같은 주소는 집 Mac이 아닙니다.
OLLAMA_HOST=0.0.0.0으로 바꾸면 모든 IPv4 네트워크 인터페이스에서 연결을 받을 수 있습니다. Tailscale 이름을 사용한다고 Tailscale 전용 공개가 되지는 않습니다. 이 입문 예제에서는 Ollama 기본 주소를 유지하고 SSH의 포트 전달 기능을 사용합니다.
집 Mac에서 Ollama가 실행 중이고 SSH 접속이 된다는 것을 먼저 확인합니다. 이후 노트북의 새 터미널에서 실제 계정과 기기 이름으로 바꿔 아래 명령을 실행합니다.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:11435:127.0.0.1:11434 user@home-mac왼쪽 127.0.0.1:11435는 노트북이 받을 주소이고 오른쪽 127.0.0.1:11434는 집 Mac에서 연결할 Ollama 주소입니다. -N은 원격 셸을 열지 않고 통로를 유지합니다. 연결이 되면 출력 없이 기다릴 수 있으며 이 터미널을 열어 둡니다. 이 상태만으로 집 Mac의 Ollama까지 연결되었다는 뜻은 아니므로 다음 조회로 확인합니다.
노트북의 다른 터미널에서 아래 명령을 실행합니다. 설치된 모델 목록을 조회할 뿐 새 모델을 내려받거나 생성 요청을 보내지 않습니다.
curl http://127.0.0.1:11435/api/tagsmodels 항목이 있는 JSON이 나오면 목록 조회가 된 것입니다. models가 빈 배열이면 목록은 조회했지만 설치된 모델이 없는 상태입니다. 실제 AI 사용은 설치된 로컬 모델을 선택해 Ollama 예제의 입력과 결과를 확인합니다.
터널을 끝내려면 첫 터미널에서 Ctrl+C를 누릅니다. Ctrl+C는 노트북의 터널만 닫으며 집 Mac의 Ollama 서버를 종료하지 않습니다.
⚠️ 연결되지 않을 때 구분하기
| 보이는 상황 | 먼저 확인할 것 |
|---|---|
| 기기 이름을 찾지 못함 | 두 기기의 Tailscale 연결과 MagicDNS 및 실제 기기 이름 |
| 연결 시간이 초과됨 | 집 Mac 전원과 네트워크, 접근 정책 및 방화벽 |
| SSH 연결 거부 | 집 Mac 원격 로그인과 접속 주소 및 포트 |
| Permission denied | 집 Mac 사용자 이름, 인증 방식과 키 등록 |
| 호스트 키 변경 경고 | 실제 기기 교체나 재설치 여부와 지문을 별도 확인하고 무조건 삭제하지 않음 |
| Address already in use | 노트북의 11435 포트를 다른 프로그램이나 기존 터널이 쓰는지 확인 |
| 터널은 열렸지만 API 조회 실패 | 집 Mac에서 Ollama가 실행 중인지와 11434 접속 여부 |
공유기의 공인 포트 공개로 우회하지 않습니다. 접근 제한을 모두 풀기보다 어느 단계까지 성공했는지 기록하고 그 단계의 설정을 확인합니다.
🔒 원격으로 열기 전에 잠글 것과 백업할 것
원격 접속이 되기 시작하면 집 컴퓨터의 AI 서버를 다른 기기에서도 부르고 싶어집니다. 그 전에 서버가 어디에 열려 있는지, 누가 접근할 수 있는지, 컴퓨터가 고장 나면 무엇을 잃는지를 정리해 둡니다. 로컬 AI 보안은 서버에 접근할 기기와 계정을 제한하고 실행할 모델 파일을 확인하는 일이고, 백업은 자료를 따로 보관한 뒤 실제로 복원되는지 확인하는 일입니다.
서버가 열려 있는 주소부터 확인하기
로컬 AI 도구는 대부분 기본으로 같은 컴퓨터에서만 요청을 받습니다. 설정이나 예시 명령을 따라 하다 요청을 받는 주소(127.0.0.1)가 다른 주소로 바뀌는 경우가 있어 먼저 확인합니다.
| 도구 | 기본 주소 | 열리는 범위가 넓어지는 설정 |
|---|---|---|
| Ollama | 127.0.0.1:11434 | OLLAMA_HOST를 0.0.0.0으로 바꿀 때 |
| 컴피UI(ComfyUI) | 127.0.0.1:8188 | 실행할 때 --listen을 붙일 때 |
| llama.cpp의 llama-server | 127.0.0.1 | 실행할 때 --host로 다른 주소를 줄 때 |
Ollama 공식 문서는 로컬 API가 인증을 요구하지 않는다고 적습니다. 주소를 넓게 열고 다른 접근 제한이 없다면 같은 네트워크의 다른 기기도 이 서버에 요청할 수 있다는 뜻입니다. 이 글의 SSH 터널처럼 기본 주소를 유지하는 방법을 먼저 씁니다.
집 Mac의 터미널에서 다음 명령을 실행하면 Ollama 포트가 어느 주소에서 요청을 기다리는지 볼 수 있습니다.
lsof -nP -iTCP:11434 -sTCP:LISTEN결과의 NAME 열에 127.0.0.1:11434가 보이면 같은 컴퓨터에서만, *:11434가 보이면 모든 주소에서 요청을 받는 상태입니다. 결과가 비어 있으면 Ollama가 실행 중인지부터 확인합니다.
원격 접속을 좁게 잠그기
Tailscale은 접근 정책을 따로 정하지 않으면 tailnet 안의 모든 기기끼리 통신을 허용합니다. 가족이나 동료의 기기가 같은 tailnet에 있다면 그 기기도 집 컴퓨터의 AI 서버에 닿을 수 있다는 뜻입니다. Tailscale 문서는 허용할 연결만 적는 grants 방식을 권합니다. 규칙 하나는 누가(src), 어디에(dst), 어떤 포트로(ip) 접속할 수 있는지를 적습니다.
{
"grants": [
{ "src": ["내계정@example.com"], "dst": ["tag:ai-server"], "ip": ["tcp:22"] }
]
}위 예시는 내 계정에 연결된 기기만 ai-server 태그를 붙인 집 컴퓨터의 SSH 포트(22번)로 접속하게 하는 규칙입니다. 이 글처럼 Ollama를 SSH 터널로 쓰면 SSH 포트만 허용해도 됩니다. 실제 정책 파일에는 태그 소유자 정의와 기존 규칙이 함께 있으므로 예시로 전체를 덮어쓰지 않고, 기존의 넓은 허용 규칙이 남아 있는지도 확인합니다.
SSH 키 로그인이 새 터미널에서 되는 것을 확인했다면 집 Mac의 SSH 비밀번호 로그인을 끄는 방법도 있습니다. 이 설정은 잘못 바꾸면 원격으로 다시 들어갈 수 없으므로, 집 Mac 앞에 앉아 있을 때 기존 설정 파일을 보관한 뒤 진행합니다.
모델 파일을 안전하게 받기
모델 파일도 확인 대상입니다. 허깅페이스 보안 문서는 pickle 형식 파일을 불러올 때 임의의 코드가 실행되는 공격이 가능하다고 경고합니다. 파이토치 가중치에 흔한 .pt, .ckpt, .bin 파일이 이 형식일 수 있습니다.
- 같은 모델에
.safetensors파일이 있으면 그 파일을 고릅니다. 가중치 숫자만 담는 형식이라 파일을 불러오면서 코드가 실행될 위험을 줄입니다. - 원 제작사 저장소나 확인된 배포자의 파일을 받습니다.
- 허깅페이스 CLI의
hf cache verify 저장소이름으로 내려받은 파일이 허깅페이스에 올라온 파일과 같은지 확인합니다. 이 명령은 파일이 손상되거나 바뀌지 않았는지를 보는 검사이며 악성 코드 검사는 아닙니다.
무엇이 어디에 저장되는지와 백업 순서
| 파일 | 기본 위치 (Mac) | 다시 만들 수 있는지 |
|---|---|---|
| Ollama 모델 | ~/.ollama/models (OLLAMA_MODELS로 변경) | 같은 버전을 다시 받을 수 있는지 확인 |
| 허깅페이스에서 받은 모델 | ~/.cache/huggingface/hub | 같은 버전을 다시 받을 수 있는지 확인 |
| 컴피UI로 만든 결과 이미지 | 직접 설치했다면 ComfyUI 폴더 안의 output 폴더, 맥 데스크톱 앱은 공유 입출력 폴더 ~/ComfyUI-Shared | 같은 이미지를 다시 만들기 어려움 |
| RAG(AI가 내 문서를 찾아 답하게 하는 방식)에 넣은 원본 문서와 색인 | 직접 지정한 폴더 | 원본 문서는 다시 못 만듦 |
| 직접 학습한 LoRA(모델에 화풍이나 말투를 더하는 작은 추가 학습 파일)나 미세조정 모델 | 학습 때 지정한 폴더 | 다시 학습해야 함 |
백업 공간은 한정되어 있으므로 다시 만들 수 없는 것부터 챙깁니다. 원본 문서와 녹음, 학습 결과, 워크플로와 설정 파일이 먼저이고, 수십 GB짜리 공개 모델 파일은 같은 버전을 다시 받을 수 있는지 확인한 뒤 순서를 정합니다. 결과를 재현해야 하는 모델은 저장소 이름과 버전(커밋 식별자)을 함께 기록합니다. Mac은 Time Machine으로 외장 디스크에 백업할 수 있고, 다시 받을 수 있다고 확인한 모델 폴더만 백업에서 뺍니다.
백업은 복원해 봐야 확인됩니다. 연습용 메모 파일 하나를 백업한 뒤 다른 폴더로 복원해 내용이 같은지 열어 보면, 실제로 자료를 잃었을 때 어느 버전을 어떻게 되살리는지 미리 알 수 있습니다. 동기화 서비스만 쓰면 삭제나 손상도 함께 동기화될 수 있으므로 이전 버전을 되살릴 수 있는 백업과 구분합니다.
❓ 자주 묻는 질문
스마트폰에서도 쓸 수 있나요?
Tailscale 앱과 SSH 클라이언트 앱으로 같은 방식의 연결을 구성할 수 있습니다. 개인키는 스마트폰에서 별도로 생성해 공개키만 집 Mac에 등록하는 방식을 사용할 수 있습니다. 앱의 키 동기화와 저장 조건도 확인합니다. 브라우저 화면이 필요하면 별도의 웹 서비스와 접근 제한 설정이 필요합니다.
Claude Code Remote Control과 같은 기능인가요?
Remote Control은 Claude Code 세션을 이어 보는 기능입니다. SSH는 컴퓨터의 원격 터미널 접속이고 Tailscale은 기기 사이의 네트워크 연결입니다. 사용할 작업에 따라 선택하며 세 기능을 항상 함께 설치할 필요는 없습니다.
Windows 컴퓨터도 가능한가요?
Windows용 OpenSSH 서버와 Tailscale을 사용할 수 있습니다. tmux는 일반적으로 Windows에서 Linux 환경을 사용하는 WSL 안에서 사용하며 그 환경과 Windows의 파일 및 네트워크 주소 차이를 확인해야 합니다. 위 Mac용 설치와 권한 경로를 그대로 적용하지 않습니다.
연결하고 나갔다가 같은 세션으로 돌아오기
처음에는 AI 작업 대신 짧은 메모로 연습합니다. SSH로 집 Mac에 들어가 hostname과 whoami의 결과를 확인한 뒤 tmux new -A -s hub로 세션을 엽니다. 세션 안에 아래 명령을 입력합니다.
printf '연습 1: 회의실 2 확인\n'Ctrl+b 다음 d로 분리하고 다시 tmux new -A -s hub를 실행합니다. 같은 화면에 메모가 남아 있으면 세션 재접속을 확인한 것입니다. 메모가 없다면 다른 세션에 들어갔거나 마지막 셸을 종료했는지 확인합니다. 이 연습은 실행 중인 AI 작업이나 서버가 재부팅 뒤 복구되는지 확인하는 절차는 아닙니다.
이번에는 “연습 2: 회의실 3 확인”을 출력하고 같은 순서를 반복합니다. 접속한 기기와 계정 및 세션 이름을 기록합니다. 연결을 끊는 것과 집 컴퓨터의 프로그램을 끝내는 것을 구분할 수 있으면 실제 로컬 AI 작업으로 넘어갑니다.
📋 3줄 요약
-
Tailscale은 기기를 연결하고 SSH는 계정 인증과 원격 터미널을 제공하며 tmux는 실행 중인 터미널 세션을 유지합니다.
-
Tailscale 설치만으로 다른 네트워크의 접근이 차단되지는 않으므로 접근 정책과 방화벽 및 계정 권한을 함께 확인합니다.
-
Ollama의 기본 주소를 유지한 SSH 터널로 API를 연결할 수 있으며 컴퓨터 종료와 재부팅은 별도로 대비합니다.
참고 자료

제대로 이해했는지 한 문제로 확인해 볼까요?
답을 고르면 바로 풀이가 나와요.
카페에서 집 컴퓨터의 로컬 AI에 붙으려고 할 때 권하기 어려운 방법은 무엇일까요?
예제나 확인 질문을 직접 시도한 뒤 완료 표시해요. 더 연습할 내용이 남으면 표시하지 않고 다음 글을 읽어도 됩니다. 완료 버튼은 이해도를 채점하지 않으며 잘못 표시하면 취소할 수 있어요.

