Obsidian 볼트(메모와 문서를 담는 폴더)를 세 대의 컴퓨터에서 쓰고 싶었다. 직장의 윈도우 컴퓨터 2대, 그리고 집에 있는 맥북.
세 군데에서 같은 노트를 보고 싶은데, iCloud나 OneDrive는 사내 컴퓨터에서 막혀있었고, Github으로 push/pull하는 방식도 아직은 좀 불편했다.
그래서 이번에는 Syncthing을 활용해보기로 했다. 클라우드를 거치지 않고 내 기기끼리 직접 파일을 동기화해주는 무료 도구다. 각 기기가 서로 직접 연결되니까, 회사 서버에 파일이 올라가지 않아서 좋다. 대신 각 기기를 서로 등록해줘야 한다 — 기기마다 설정 화면(GUI)에 들어가서 상대방을 추가하는 식이다.
여기에 Synology NAS를 끼웠다. NAS를 항상 켜두고 중심으로 삼으면, PC들이 꺼져 있어도 파일이 저장되는 지점이 하나 생긴다. 기술적으로는 대등한 기기 간 연결(P2P)이지만, NAS를 허브처럼 쓰는 방식이다.
문제는 설정을 각 기기에서 해야 한다는 것. 연구실 PC는 다른 건물이고, 맥북은 집에 있다. 자리에 가서 화면을 띄우고 클릭하는 게 세 번 필요하다.
그래서 이번엔 다르게 했다. 나는 컴퓨터1 자리에 가만히 앉아있고, Aside가 대신 돌아다녔다. NAS는 같은 내부 네트워크라 브라우저로 바로 접속했고, 연구실 PC와 맥북에는 Tailscale(멀리 있는 기기들을 하나의 가상 내부망처럼 묶어주는 도구) 위의 SSH(원격 터미널 접속)로 들어가서 설정을 처리했다
한 자리에서의 오케스트레이션
설정이 필요한 기기는 네 대였고, Aside의 도달 경로는 넷으로 나뉘었다:
컴퓨터 1 → 내가 앉아 있는 자리. 로컬에서 바로 Syncthing 설정
NAS → 같은 내부 네트워크. 브라우저로 접속해서 Docker(Container Manager)에 Syncthing을 올리고, GUI에서 기기 등록과 폴더 공유를 처리
컴퓨터 2 → 직장 다른 방에 있는 컴퓨터. Tailscale이 부여한 내부 주소로 SSH 접속 후, 원격 PowerShell로 Syncthing REST API 호출
맥북 → 집에 있음. Tailscale IP로 SSH 접속 후
brew install syncthing부터 설치까지 진행
내가 한 것은 기기별 Device ID(각 Syncthing 기기를 구분하는 고유 식별자, 일종의 주민등록번호) 전달과 방향 지시뿐이다. Device ID 확인, 기기 등록, 폴더 수락, 경로 변경, 동기화 제외 규칙(ignore 패턴) 적용은 전부 Aside가 원격으로 실행했다https://files-us-east-1.t-cdn.net/files/41TJklxSmyBc2Cu4HBkRk .
원격 설정이 실제로 굴러간 방식
각 PC의 Syncthing은 https://127.0.0.1:8384의 REST API를 열어두고 있다. REST API는 프로그램이 프로그램에게 명령을 내리는 창구고, 127.0.0.1은 "이 PC 자기 자신"이라는 주소라 외부에서는 접근할 수 없다. SSH로 들어가 그 안에서 API를 호출해야 한다.
연구실 PC의 경우 Aside는 이런 흐름으로 움직였다:
1. ssh research 접속 (Tailscale 네트워크)
2. 원격 PC의 config.xml에서 API key(REST API의 열쇠) 추출
3. PowerShell 스크립트 파일을 만들어 scp(파일 전송)로 원격에 복사
4. 원격에서 스크립트 실행 → NAS를 기기로 등록 + 공유 폴더 수락GUI 설정 화면을 한 번도 열지 않았다. Syncthing 설정 자체는 복잡하지 않지만, "자리에 가서 화면 띄우고 클릭"을 Aside가 원격 명령으로 대체한 것이 이번 세션의 골자다.
한 방향만으로는 안 된다는 발견
진행 중 확인한 사실 하나. NAS의 syncthing에 기기를 등록하는 것만으로는 "연결됨"이 안 된다. 상대 기기에서도 NAS를 등록해야 진짜 연결이 된다 — Syncthing은 P2P라 양방향 승인이 필요하다.
이것 때문에 원격 설정이 꼭 필요했다. NAS 쪽 등록은 브라우저로 할 수 있지만, 각 PC 쪽 등록은 그 PC 안에 들어가야만 한다.
결과
NAS, 판독실 PC, 연구실 PC 세 곳이 모두 "연결됨" 상태로 Obsidian 볼트 폴더를 공유하게 됐다
맥북은 설치까지 완료, 마지막 기기 등록만 남은 상태에서 세션 종료
내가 자리에서 일어난 횟수: 0
물리적으로 다른 건물의 PC까지 한 세션에서 설정 완료
배운 점
Aside도 SSH로 "돌아다닐" 수 있다. Claude Code 같은 에이전트가 SSH로 원격 머신을 다루는 걸 보고 "Aside도 되나?" 했는데, Aside도 결국 에이전트고, Tailscale + SSH 키(비밀번호 대신 쓰는 인증 파일)만 잡혀 있으면 같은 방식이 통했다. 다른 PC에 깔린 Aside CLI(명령줄 버전)까지 원격으로 찾아내서 소통 가능한 것도 확인했다.
단순 반복 작업일수록 원격 위임이 빛난다. 기기당 설정은 5분이면 되지만, 그걸 세 곳에서 직접 하면 이동 시간이 본체보다 크다. "자리에 가서 화면 열기"가 필요한 작업을 SSH+API로 바꿀 수 있는 게 에이전트의 실질적인 장점이었다.
툴 자체의 함정도 정리가 됐다. Windows 원격지에서는 PowerShell 인용부호가 불안정해서 스크립트 파일을 보내 실행하는 패턴이 유일하게 안정적이었다. 이걸 ssh-remote라는 별도 스킬(재사용 가능한 작업 매뉴얼)로 정리했다. SSH 함정과 Syncthing 설정은 다른 이야기라 분리하는 게 맞다는 지적이 있었고, 그대로 반영했다. 스킬도 작업 결과물의 하나로 쌓인 셈이다https://files-us-east-1.t-cdn.net/files/ogZzm96Xfz5wDTBCvHeNm .