문서
빠른 시작 + 부분별, 기기별 기능 설명 (계속 업데이트 중)
지원하는 시스템과 배포판
이 문서는 SSH Everywhere가 어떤 Linux 배포판, 기기, 시스템을 관리할 수 있는지, 그리고 시스템별 기능 완성도 차이를 설명합니다.
한 문장으로
SSH Everywhere의 핵심은 SSH 연결 + 원격 명령 실행이므로 SSH 서비스(sshd)가 설치된 모든 Linux를 연결할 수 있습니다. 다만 기능 완성도는 계층으로 나뉘며, 대상 머신에 systemd, python3가 있는지와 어떤 패키지 관리자를 쓰는지에 달려 있습니다.
계층별 지원 상황
✅ 1계층: 완전 지원(권장, 모든 기능 사용 가능)
주류 systemd 배포판. 다음 기능을 모두 사용할 수 있습니다: 상태 감지, 크래시 보호(systemd 부팅 자동 시작 + 크래시 시 자동 재시작), 터널링 Agent, Docker 관리, 파일 관리, 프로세스 관리, 예약 작업, 사이트 관리.
| 배포판 | 패키지 관리자 | 설명 |
|---|---|---|
| Debian / Ubuntu(라즈베리파이 Raspbian 포함) | apt | 가장 권장, 호환성 최고 |
| CentOS / RHEL / Rocky / AlmaLinux | yum / dnf | 서버 주류 |
| Fedora | dnf | 비교적 최신 |
| Arch / Manjaro | pacman | 롤링 릴리스 |
| openSUSE | zypper |
✅ 2계층: 기본적으로 완전, 크래시 보호만 부팅 자동 시작 없음
systemd가 없는 경량 배포판. 크래시 보호가 자동으로 nohup 방식으로 폴백되어 실행됩니다(정상적으로 모니터링되지만 재부팅 후 데몬이 자동으로 올라오지 않음). 나머지 기능은 정상입니다.
| 배포판 | 패키지 관리자 | 설명 |
|---|---|---|
| Alpine | apk | 초경량(busybox + musl), 터널링 Agent 설치가 apk에 맞게 대응됨 |
✅ 3계층: 특수 지원(전통적인 Linux가 아니어도 사용 가능)
| 시스템 | 지원 정도 |
|---|---|
| Android / Termux | 전용 원클릭 설치 스크립트(Agent 자동 설치 + Termux 시작 시 함께 실행), 상태 감지가 기기 모델 / Android 버전을 식별 |
| FreeBSD | 상태 감지에 전용 분기(freebsd-version / sysctl / vm_stat)가 있으나, Docker, systemd 관련 기능은 적용되지 않음 |
| macOS | 연결할 수 있고 상태 감지도 인식(sw_vers / vm_stat)되며, 주로 테스트 머신으로 사용 |
두 가지 필수 의존 조건
1. python3: 크래시 보호 데몬과 터널링 Agent는 모두 대상 머신에 python3가 있어야 합니다. 대부분의 주류 배포판은 기본 탑재되어 있거나 원클릭으로 설치할 수 있습니다.
2. 패키지 관리자: 터널링 Agent의 의존성 설치 스크립트는 apt / yum-dnf / apk 세 가지 패키지 관리자에 대응합니다. 다른 패키지 관리자(pacman, zypper)를 쓰는 배포판에서는 Agent의 암호화 의존성을 수동으로 설치해야 할 수 있습니다. 설치하지 않아도 정상 사용 가능하며, 다만 터널이 평문 모드로 동작합니다.
특정 서버가 어느 계층인지 판단하는 방법
패널에 연결한 뒤 해당 서버의 「시스템 관리 패널」을 열고 몇 가지 핵심 신호를 확인합니다:
| 신호 | 설명 |
|---|---|
| 상태 감지가 CPU 모델 / 메모리 / 디스크를 표시 | 최소 1계층 또는 3계층 지원 |
| 시스템 정보가 「FreeBSD」/「macOS」/「Android」를 표시 | 해당 3계층 |
| 크래시 보호 배포 후 「부팅 자동 시작」 배지 표시 | systemd가 있음(1계층) |
| 크래시 보호 배포 후 「부팅 자동 시작」 배지 없음 | systemd가 없어 nohup으로 폴백(2계층) |
용어 설명
- systemd: 현대 Linux의 시스템·서비스 관리자로, 부팅 시작과 서비스 관리를 담당합니다. systemd가 있어야 「부팅 자동 시작」을 구현할 수 있습니다.
- 패키지 관리자: Linux에서 소프트웨어를 설치하는 도구로, apt(Debian/Ubuntu), yum/dnf(CentOS/RHEL), apk(Alpine), pacman(Arch) 등이 있습니다.
권장 테스트 매트릭스
여러 머신을 띄워 서로 다른 시스템의 호환성을 검증하려면, 「패키지 관리자 + init 시스템」마다 대표를 하나씩 골라 가장 넓게 커버하는 것을 권장합니다:
1. Debian 12(apt + systemd) — 가장 주류인 기준
2. Rocky Linux 9 또는 CentOS Stream(dnf + systemd) — RHEL 계열
3. Alpine(apk + systemd 없음) — 경량 + nohup 폴백 경로
4. Ubuntu 22.04/24.04(apt + systemd) — 가장 많이 사용됨
이 네 가지가 세 가지 패키지 관리자 + systemd 유무 두 가지 init 형태를 커버해, Linux 서버의 주류 상황을 대체로 대표할 수 있습니다.