Linux 서버에 설치하기
SSH로 Ubuntu 서버에 orke를 설치하고, ngrok 주소로 PC·폰 브라우저에서 엽니다.
명령을 하나씩 복사해 순서대로 따라 하세요.
이 문서에서 하는 일
Linux 서버에 orke를 설치하고, 내 PC나 폰의 브라우저에서 그 서버의 orke를 엽니다. 터미널과 AI, 파일은 모두 서버에서 실행되고 브라우저는 그 화면을 보여줍니다.
명령은 이 문서의 「복사」 단추로 복사해 SSH 창에 붙여 넣고 Enter를 누릅니다. 붙여 넣기는 Windows에서 마우스 오른쪽 클릭이나 Ctrl+V, Mac에서 Cmd+V입니다. 단계마다 끝의 ✓ 줄과 같은 결과가 보이면 다음 단계로 넘어가세요.
준비물
| 준비물 | 확인할 것 |
|---|---|
| Linux 서버 | Ubuntu 24.04 LTS, x86_64(일반 Intel·AMD CPU)입니다. 클라우드의 가상 서버도 됩니다. ARM 서버에는 설치되지 않고, 다른 배포판과 버전은 확인하지 않았습니다. |
| SSH 접속 정보 | 서버 주소(IP 또는 도메인), 사용자 이름, 비밀번호나 SSH 키입니다. 서버를 빌린 곳에서 알려줍니다. |
| sudo 권한 | 필요한 프로그램을 설치할 때만 씁니다. orke는 sudo 없이 내 홈 폴더에 설치합니다. |
| Google 계정 | 브라우저에서 orke에 들어갈 계정 하나입니다. |
| ngrok 무료 계정 | 없어도 됩니다. 7단계에서 만듭니다. |
보통의 클라우드 가상 서버와 실제 서버에는 있습니다. Docker 컨테이너나 WSL 안에서는 orke 서비스를 등록할 수 없습니다.
서버에 orke 설치하기
서버에 SSH로 접속하기
내 PC에서 명령 창을 엽니다. Windows는 PowerShell, Mac은 터미널 앱입니다. 사용자이름과 서버주소를 내 서버의 값으로 바꿔 실행합니다.
ssh 사용자이름@서버주소SSH 키 파일을 받았다면 ssh -i 키파일경로 사용자이름@서버주소처럼 -i로 키 파일을 지정합니다. 클라우드 콘솔의 SSH 단추로 연 창을 써도 됩니다.
처음 접속하면 Are you sure you want to continue connecting (yes/no/[fingerprint])?라고 묻습니다. yes를 입력하고 Enter를 누릅니다. 비밀번호는 입력해도 화면에 보이지 않습니다.
✓사용자이름@서버이름:~$ 모양의 명령 줄이 보입니다. 이 문서의 나머지 명령은 모두 이 창에서 실행합니다.
설치할 수 있는 서버인지 확인하기
CPU 종류, Ubuntu 버전, 지금 사용자를 차례로 출력합니다.
uname -m
grep PRETTY_NAME /etc/os-release
whoami| 이렇게 나오면 됩니다 | 다르게 나오면 |
|---|---|
x86_64 | aarch64 같은 다른 값이면 이 서버에는 설치할 수 없습니다. |
PRETTY_NAME="Ubuntu 24.04.3 LTS" | 24.04 뒤의 작은 숫자는 달라도 됩니다. 22.04처럼 다른 버전이면 설치할 수 없습니다. |
| 내 사용자 이름 | root이면 아래 「root로 접속했다면」을 먼저 합니다. orke는 root로 설치하지 않습니다. |
root로 접속했다면
일반 사용자를 하나 만들고 그 사용자로 다시 접속합니다. 아래는 사용자 이름을 orke로 만드는 예입니다. 다른 이름을 써도 됩니다.
adduser orke새 비밀번호를 두 번 입력하고, 이름·전화번호 같은 질문은 Enter로 넘깁니다. 이어서 이 사용자에게 sudo 권한을 줍니다.
usermod -aG sudo orkeSSH 키로 접속하는 서버라면 같은 키로 새 사용자도 접속하게 합니다. 비밀번호로 접속하는 서버라면 건너뜁니다.
mkdir -p /home/orke/.ssh && \
cp ~/.ssh/authorized_keys /home/orke/.ssh/ && \
chown -R orke:orke /home/orke/.sshexit로 접속을 끊고 ssh orke@서버주소로 다시 접속한 뒤 2단계부터 다시 합니다.
✓x86_64, Ubuntu 24.04, root가 아닌 사용자 이름이 보입니다.
필요한 프로그램 설치하기
먼저 설치할 수 있는 패키지 목록을 새로 받습니다. 처음 sudo를 쓰면 내 비밀번호를 물을 수 있습니다.
sudo apt-get update이어서 orke가 쓰는 패키지를 설치합니다. 여러 줄이지만 하나의 명령이니 한 번에 복사해 붙여 넣습니다.
sudo apt-get install -y libicu74 ca-certificates procps curl git tar gzip coreutils \
xvfb libnss3 libgtk-3-0t64 libatk1.0-0t64 libatk-bridge2.0-0t64 \
libcups2t64 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 \
libxrandr2 libgbm1 libasound2t64서버 안에서 웹 페이지를 띄우는 웹 창 기능의 패키지도 들어 있습니다. orke 설치 프로그램이 이 목록을 모두 확인하므로 터미널만 쓸 때도 설치합니다.
✓오류 없이 명령 줄로 돌아옵니다. 중간에 보라색 안내 화면이 나오면 막혔을 때를 보세요.
orke 설치하기
sudo 없이, orke를 쓸 사용자로 실행합니다. 가장 최근 Linux 판을 받아 확인한 뒤 내 홈 폴더에 설치합니다. 프로그램은 ~/.local/share/orke, 설정과 기록은 ~/.orke에 둡니다.
curl -fsSL https://orke.bomtobe.com/install.sh | bash설치되면 다음과 같은 줄이 나옵니다. 판 번호는 설치할 때의 최신 판입니다.
Installed orke 3.4.6: /home/사용자이름/.local/share/orke
Command: /home/사용자이름/.local/bin/orke → /home/사용자이름/.local/share/orke/orkeUbuntu 24.04에서는 이어서 Warning:으로 시작하는 두 줄과 virtual browser 안내가 나옵니다. 웹 창 기능에 대한 안내라 터미널·AI·원격 접속에는 영향이 없으니 지금은 넘어갑니다. 그 뒤의 Next steps 안내는 이 문서의 다음 단계들과 같은 내용입니다.
Error: Required packages are missing가 나오면 그 아래에 나오는 sudo apt-get … 명령을 그대로 복사해 실행한 뒤 이 설치 명령을 다시 실행합니다.
✓Installed orke로 시작하는 줄이 보입니다.
orke 명령을 바로 쓸 수 있게 하기
orke 명령은 ~/.local/bin에 있습니다. 이 폴더는 다음 로그인부터 자동으로 쓰입니다. 지금 창에서 바로 쓰려면 한 번 실행합니다.
export PATH="$HOME/.local/bin:$PATH"orke 명령이 보이는지 확인합니다.
command -v orke✓/home/사용자이름/.local/bin/orke가 출력됩니다.
ngrok 준비하기
ngrok은 서버의 orke 화면을 고정된 인터넷 주소 하나로 열어 주는 서비스입니다. 그 주소로 들어오는 사람에게 ngrok이 먼저 Google 로그인을 받고, 내가 허락한 이메일만 들여보냅니다.
2026년 9월 8일 확인 기준으로 한 달에 데이터 전송 1GB, HTTP 요청 20,000회입니다. 최신 한도는 ngrok 요금제 안내에서 확인하세요.
서버에 ngrok 설치하기
ngrok 공식 apt 저장소로 설치합니다. 아래 명령을 위에서부터 하나씩 실행합니다.
curl -fsSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/nullecho 'deb https://ngrok-agent.s3.amazonaws.com bookworm main' \
| sudo tee /etc/apt/sources.list.d/ngrok.listsudo apt-get updatesudo apt-get install -y ngrok설치된 판을 확인합니다. orke에는 ngrok 3.39.9 이상이 필요합니다.
ngrok versionsnap으로 설치한 ngrok은 orke 설정 폴더를 읽지 못할 수 있어 orke가 받지 않습니다. ngrok config add-authtoken도 실행하지 않아도 됩니다. 토큰은 8단계에서 orke가 저장합니다.
✓ngrok version 3.으로 시작하는 판 번호가 보입니다.
ngrok에 가입하고 주소와 토큰 찾기
PC 브라우저에서 ngrok 가입 화면을 열어 무료 계정을 만듭니다. Google 계정으로 가입해도 됩니다. 가입하면 대시보드가 열립니다.
대시보드 왼쪽 메뉴에서 두 가지를 찾습니다.

- Domains: 무료 고정 주소가 하나 있습니다.
이름.ngrok-free.app또는이름.ngrok-free.dev모양입니다. 목록이 비어 있으면 그 화면에서 무료 주소를 하나 만듭니다. 이 주소를 메모해 둡니다. - Your Authtoken: ngrok이 내 계정을 알아보는 비밀값입니다. Copy를 누르면 복사됩니다. 비밀번호처럼 다른 사람에게 보이지 마세요.

주소 하나는 한 번에 한 컴퓨터만 쓸 수 있습니다. 내 PC의 orke가 같은 주소를 쓰고 있었다면 PC의 설정 › 다른 기기에서 접속에서 「연결 끊기」를 누르고 「orke을 시작할 때 자동으로 연결」을 꺼 두세요. 그러지 않으면 나중에 연결한 쪽이 오류로 멈춥니다.
✓고정 주소를 메모했고 Authtoken을 복사할 수 있습니다.
orke와 ngrok 연결하기
원격 접속 정보 저장하기
SSH 창으로 돌아와 실행합니다. 먼저 Found ngrok: … 줄로 6단계에서 설치한 ngrok을 찾았다고 알려 준 뒤 네 가지를 차례로 묻습니다. 질문은 영어로 나옵니다.
orke remote setup| 화면의 질문과 뜻 | 입력할 것 |
|---|---|
Dedicated ngrok address (…)이 서버 전용 ngrok 주소 | 7단계의 주소입니다. 예: name.ngrok-free.apphttps://와 끝의 /는 넣지 않습니다. |
Does orke on another computer also use this address? [y/N]다른 컴퓨터의 orke도 이 주소를 쓰나요? | 그대로 Enter를 누릅니다(아니요). |
Your Google email allowed to connect들어오도록 허락할 내 Google 이메일 | 브라우저에서 로그인할 Google 계정의 이메일입니다. |
ngrok Authtoken (…; input hidden)ngrok 토큰 | 7단계에서 복사한 토큰을 붙여 넣고 Enter를 누릅니다. 붙여 넣어도 글자가 보이지 않는 것이 정상입니다. |
잘못 입력하면 그 자리에서 다시 묻습니다. 끝에 다음 줄이 보이면 저장된 것입니다.
Remote settings saved: https://name.ngrok-free.app (allowed Google email: you@example.com). Connects automatically when orke starts.이어지는 orke will connect using this address on its next start.는 다음 단계에서 orke를 시작하면 이 주소로 연결한다는 뜻입니다.
그 계정으로 들어온 사람은 이 Linux 사용자의 권한으로 명령을 실행할 수 있습니다. 이메일은 본인 것만 넣으세요.
✓Remote settings saved 줄이 보입니다.
orke를 서비스로 시작하기
orke를 서버의 서비스로 등록하고 시작합니다. 이제 SSH 창을 닫아도 orke가 계속 실행되고, 서버를 다시 켜면 저절로 시작합니다. 준비를 확인하느라 잠시(길면 1분 30초) 걸릴 수 있습니다.
orke service install| 보이는 줄 | 뜻 |
|---|---|
Installed and started the orke service: … | 서비스를 등록하고 시작했습니다. |
The orke service is ready — version … | orke가 준비됐습니다. |
Virtual browser: … | 웹 창의 상태입니다. unavailable이어도 터미널과 원격 접속은 됩니다. |
Enabled linger … 또는 linger is already enabled … | SSH에서 로그아웃해도 orke가 계속 실행됩니다. |
… To reserve these ports … | 포트 예약 안내입니다. 하지 않아도 됩니다. 막혔을 때에 설명이 있습니다. |
orke: Open the UI via the ngrok address … | 화면은 ngrok 주소로 열라는 안내입니다. 11단계에서 엽니다. |
Could not enable linger가 나오면이대로는 SSH에서 로그아웃하면 orke가 멈춥니다. 아래 명령을 한 번 실행합니다. sudo 권한이 없다면 서버 관리자에게 이 사용자의 linger를 켜 달라고 부탁합니다.
sudo loginctl enable-linger "$(id -un)"✓The orke service is ready 줄이 보입니다.
ngrok 연결 확인하기
서비스 상태와 ngrok 연결 기록을 봅니다.
orke service statusorke service (/home/사용자이름/.config/systemd/user/orke.service)
State: running (active/running, pid 1234)
…
ngrok: /home/사용자이름/.orke/remote-access/tools/ngrok → /usr/local/bin/ngrok
Last ngrok error: none (no ngrok error line in daemon.log)
Recent ngrok record: 연결됐습니다. — …State: running과 연결됐습니다.가 보이면 주소가 열린 것입니다. 연결 줄이 아직 없으면 10초쯤 뒤 다시 실행합니다. Last ngrok error에 ERR_NGROK_로 시작하는 번호가 보이면 막혔을 때를 보세요.
✓State: running과 연결됐습니다.가 보입니다.
브라우저에서 열기
주소를 열고 Google로 로그인하기
PC 브라우저의 주소창에 https://를 붙인 내 ngrok 주소(예: https://name.ngrok-free.app)를 입력합니다. 8단계의 Remote settings saved: 줄에 나온 주소를 그대로 써도 됩니다.
무료 주소에서는 ngrok의 안내 화면이 먼저 나옵니다. Visit Site를 누릅니다. 같은 브라우저에서도 7일마다 다시 나올 수 있습니다.

Google 로그인 화면에서 8단계에 입력한 이메일의 계정을 고릅니다. 다른 계정으로는 들어갈 수 없습니다.
✓orke 화면이 열리고 아래쪽에 아이콘 줄(Dock)이 보입니다.
화면을 한국어로 바꾸기
처음에는 영어로 보입니다. Dock 맨 오른쪽의 톱니바퀴(Settings)를 누르고, General의 Display language에서 한국어를 고릅니다.
바로 바뀌고 이 브라우저에 저장됩니다. 다른 브라우저나 폰에서 처음 열 때는 한 번 더 고릅니다.
✓메뉴와 단추가 한국어로 보입니다.
첫 터미널 열기
Dock 맨 왼쪽의 터미널 단추를 누르면 「새 세션」 창이 열립니다. 에이전트에서 터미널을 고르고, 작업 폴더는 그대로 둔 채 시작을 누릅니다.
열린 터미널에 다음을 입력합니다.
whoami
hostname서버의 사용자 이름과 서버 이름이 나오면 원격 연결을 마친 것입니다. 이 터미널은 서버에서 실행되므로 브라우저를 닫아도 서버의 orke가 켜져 있는 동안 남아 있습니다.
✓SSH 창에서 본 것과 같은 사용자 이름과 서버 이름이 보입니다.
다음에 할 일
AI 연결하기
Claude Code나 Codex 같은 AI CLI는 서버에, orke와 같은 Linux 사용자로 설치합니다. orke 터미널에서 설치해도 됩니다. 설치 안내는 AI 설치와 계정에 있습니다.
서버에는 브라우저가 없으니 로그인은 링크와 코드로 합니다. 명령이 보여 주는 링크를 PC에서 열어 로그인한 뒤, 받은 코드를 터미널에 붙여 넣거나 링크 화면에 터미널의 코드를 입력합니다.
claude auth logincodex login --device-authCodex의 기기 코드 로그인은 ChatGPT 설정의 보안 항목에서 먼저 켜야 합니다.
폰에서 열기
폰의 브라우저나 앱에서 같은 주소를 열고 같은 Google 계정으로 로그인합니다. 앱 연결은 원격 · 모바일에서 설명합니다.
자주 쓰는 명령
모두 SSH 창에서 실행합니다. 다시 시작과 업데이트는 서버에서 돌던 터미널과 AI 작업을 끝내므로 중요한 작업이 없을 때 하세요. orke 터미널 안에서 실행하면 그 터미널도 함께 끝납니다.
| 할 일 | 명령 |
|---|---|
| 상태와 ngrok 연결 보기 | orke service status |
| 설정을 바꾼 뒤 다시 시작하기 | orke service restart |
| 최신 판으로 업데이트하기 | orke update |
| 프로그램 지우기(설정과 기록은 남김) | orke uninstall |
| 설정과 기록까지 지우기 | orke uninstall --purge |
서버 명령 전체는 Linux 서버 운영에 있습니다.
막혔을 때
orke 명령을 찾을 수 없다고 나옵니다(command not found)
5단계의 export PATH=…를 다시 실행하거나 ~/.local/bin/orke처럼 전체 경로로 실행합니다. 다음 로그인부터는 orke만 입력해도 됩니다.
Do not install as root가 나옵니다
root로 접속한 상태입니다. 2단계의 root로 접속했다면을 따라 일반 사용자로 다시 접속한 뒤 설치합니다.
Required packages are missing가 나옵니다
오류 아래 줄의 sudo apt-get update && sudo apt-get install -y …를 그대로 복사해 실행한 뒤 설치 명령을 다시 실행합니다.
패키지를 설치하는 중에 보라색 안내 화면이 나옵니다
업데이트한 뒤 다시 시작할 서비스를 Ubuntu가 알려 주는 화면입니다. 그대로 Enter를 눌러 넘어갑니다.
snap ngrok is unsupported가 나옵니다
snap으로 설치한 ngrok입니다. 지운 뒤 6단계로 다시 설치하고 orke remote setup을 다시 실행합니다.
sudo snap remove ngrokngrok was not found로 시작하는 줄이 나옵니다
ngrok이 설치되지 않았습니다. 6단계를 마친 뒤 orke remote setup을 다시 실행합니다.
SSH에서 로그아웃하면 orke가 멈춥니다
linger가 꺼져 있습니다. 9단계의 sudo loginctl enable-linger "$(id -un)"을 실행합니다. orke service status의 Run after logout (linger): enabled로 확인합니다.
sudo -u나 su로 바꾼 창에서 서비스 명령이 안 됩니다
orke 서비스 명령은 그 사용자로 SSH에 직접 접속한 창에서만 됩니다. 접속을 끊고 그 사용자로 다시 접속합니다.
This system did not boot with systemd가 나옵니다
Docker 컨테이너나 WSL처럼 systemd가 없는 환경입니다. orke 서비스를 등록할 수 없으니 일반 가상 서버에 설치합니다.
주소를 열면 ngrok의 오류 화면이 나옵니다
서버의 orke가 아직 ngrok에 연결되지 않은 상태입니다. SSH 창에서 orke service status를 실행해 State가 running인지, Last ngrok error에 오류 번호가 있는지 봅니다. 주소의 철자도 확인합니다.
상태에 ERR_NGROK_334가 보입니다
다른 컴퓨터가 같은 주소를 쓰고 있습니다. 그 컴퓨터의 orke에서 연결을 끊고(PC는 설정 › 다른 기기에서 접속 › 「연결 끊기」, 「orke을 시작할 때 자동으로 연결」 끄기) 서버에서 orke service restart를 실행합니다. 이 오류 뒤에는 orke가 스스로 다시 연결하지 않습니다.
상태에 ERR_NGROK_105나 ERR_NGROK_107이 보입니다
ngrok이 저장된 Authtoken을 받지 않았습니다. 대시보드의 Your Authtoken에서 지금 토큰을 복사하고 orke remote setup을 다시 실행합니다. 주소와 이메일은 Enter를 누르면 저장된 값을 그대로 씁니다. 저장한 뒤 orke service restart를 실행합니다.
Google 로그인 뒤에 들어가지 못합니다
허락하지 않은 Google 계정으로 로그인했을 수 있습니다. 브라우저의 시크릿 창에서 주소를 다시 열고 8단계의 이메일 계정으로 로그인합니다. 허락할 이메일을 바꾸려면 orke remote setup을 다시 실행한 뒤 orke service restart를 실행합니다.
「연결하지 못했습니다.」와 「다시 연결」 단추가 보입니다
브라우저와 서버의 연결이 오래 끊겼던 상태입니다. 「다시 연결」을 누릅니다. 계속되면 SSH 창에서 orke service status로 서버 상태를 확인합니다.
Warning: 줄이나 Virtual browser: unavailable이 보입니다
서버 안에서 웹 페이지를 띄우는 웹 창 기능의 안내입니다. Ubuntu 24.04의 기본 보안 설정이 웹 창 브라우저의 보호 기능(Chromium 샌드박스)을 막으면 나옵니다. 터미널과 AI, 원격 접속은 그대로 쓸 수 있습니다.
웹 창이 필요하면 서버 관리자가 확인한 뒤 아래 두 명령으로 샌드박스 도우미의 권한을 바꾸고 orke를 다시 시작합니다. 시험 서버에서는 이렇게 해서 웹 창이 준비됐습니다. orke를 업데이트하면 새 판에 다시 해야 합니다.
sudo chown root:root ~/.local/share/orke/desktop/chrome-sandboxsudo chmod 4755 ~/.local/share/orke/desktop/chrome-sandboxorke service restart웹 창을 쓰지 않으려면 orke setup server-browser --mode disabled를 실행한 뒤 orke service restart를 실행합니다.
To reserve these ports 안내가 나옵니다
하지 않아도 되는 설정입니다. 다른 프로그램이 orke의 포트를 먼저 차지해 orke가 시작하지 못하는 드문 경우를 막습니다. sysctl net.ipv4.ip_local_reserved_ports의 값이 비어 있으면 아래 명령을 그대로 실행합니다. 이미 다른 예약이 있으면 이 명령이 그 목록을 바꿔 쓰므로 서버 관리자와 함께 쉼표로 이어 붙입니다.
echo 'net.ipv4.ip_local_reserved_ports=47620-48643,48700' \
| sudo tee /etc/sysctl.d/90-orke.conf && sudo sysctl --system