sideproject · 2026-07-23 · 조회수 13
SSH/SFTP/RDP/VNC 한 곳에서, ShellPilot 만드는 중
왜 만들었나
원격 서버 작업을 하다 보면 SSH 터미널, SFTP 파일 전송, 가끔은 RDP/VNC로 화면까지 봐야 할 때가 있다. 그런데 툴마다 아쉬운 부분이 있었다 — 어떤 SSH 클라이언트는 무료 버전에서 세션 등록 개수 자체가 제한되어 있고, SFTP는 SFTP대로 별도 프로그램을 띄워야 했다. 결국 SSH 켜고, SFTP 켜고, 필요하면 RDP 클라이언트까지 켜는 식으로 창이 늘어났다.
그래서 하나의 앱 안에서 SSH·SFTP·RDP·VNC를 다 붙이고, 세션 관련해서는 붙어 있는 메모(Notes) 기능까지 넣어서 ShellPilot을 만들기 시작했다. Tauri 2(Rust + React) 기반 데스크톱 앱이다.
지금 어디까지 왔나
SSH / SFTP는 실제로 매일 쓰고 있다.
- SSH: russh 기반 터미널(xterm.js), 비밀번호/SSH Key/SSH Agent 인증, known_hosts 관리 및 호스트 키 변경 감지
- SFTP: SSH 세션에서 바로 SFTP 탭을 열어 Local/Remote 2-pane Commander UI로 전송, 전송 큐(진행률·속도·ETA·일시중지/재개)까지 지원
- Workspace: FlexLayout 기반 탭 분할, 서버별 세션 그룹화 — 여러 서버를 동시에 열어놓고 작업할 수 있다

- 자주 가는 경로는 Favorite Paths로, 반복하는 명령은 Command Snippets로 등록해두고 바로 실행할 수 있다


이 둘은 지금 실사용하면서 안정화·유지보수에 집중하는 영역이다.
RDP / VNC / AI Assistant는 동작은 하는데 프로토타입 단계다.
- RDP/VNC는 IronRDP 사이드카로 화면 렌더링, 클립보드 공유까지는 붙였지만 아직 실사용 검증은 못 했다
- AI Assistant는 로컬 Claude Code CLI를 붙여서 터미널 컨텍스트 기반으로 질의할 수 있게 만든 실험적 기능


이 세 가지는 구조만 잡아둔 상태로 당분간 기능 확장은 미루고, SSH/SFTP/Notes 쪽에 집중할 계획이다.
왜 도움이 필요한가
SSH/SFTP는 내가 매일 쓰다 보니 그럭저럭 안정화되고 있는데, 딱 내가 쓰는 환경(서버 종류, 인증 방식, 네트워크)에서만 검증됐다는 한계가 있다. 다른 환경 — 다른 SSH 서버 설정, 다른 known_hosts 상황, 다른 OS — 에서는 어떤 엣지 케이스가 나올지 모른다. 그래서 지금 시점에 필요한 건 새 기능보다 실제 사용 테스트 케이스다.
혹시 SSH/SFTP 클라이언트가 필요하고 한번 써볼 의향이 있다면, 레포에서 받아서 써보고 이상한 점을 알려주면 정말 도움이 될 것 같다.
앞으로
지금 로드맵 우선순위는 이렇다.
- SSH 인증·known_hosts 관련 회귀 테스트 보강
- SFTP 대용량 전송 실사용 검증
- Notes 기능(위키링크·백링크·태그) 안정화
- 세션 import/export, 워크스페이스 레이아웃 프리셋
RDP/VNC/AI Assistant는 이 기반이 자리잡은 다음에 다시 손댈 생각이다.
댓글