RemoteDesk – A modern SSH, SFTP, RDP & VNC client for Windows
RemoteDesk brings every remote-access protocol you actually use into one tabbed Windows app — SSH terminal, dual-pane SFTP file browser, embedded RDP, and embedded VNC. Servers live as encrypted sessions in a master-password vault. Add jump hosts to chain through bastions, and let VNC traffic ride inside SSH automatically. Import your existing MobaXterm sessions on day one.
Features
- SSH terminal: Full xterm.js terminal in WebView2 — copy / paste / select-all, smart paste with multi-line confirmation, multi-paste to many open terminals at once, password or private-key authentication, inline credential prompts when nothing is saved.
- SFTP dual-pane file browser: Right-click an SSH session → Open file browser (SFTP). Local files on the left, remote files on the right, native Windows shell icons, drag-drop in both directions (and from Windows Explorer), recursive folder transfers, per-transfer progress and cancel, merge / overwrite prompts, transfer drawer with live throughput.
- Embedded RDP: The remote desktop renders inside the tab via the Windows
MsRdpClientActiveX — no externalmstsc.exewindow, no Windows 11 "Opening Remote Desktop Connection" prompt, no taskbar entry. Saved password is injected directly, HiDPI-correct, live-resizes with the window. - Embedded VNC: Remote desktop rendered inside the tab through
MarcusW.VncClient— no external viewer required. Aspect-preserving fit, native mouse / keyboard / scroll-wheel forwarding, and a Send keys menu forCtrl+Alt+Del,☔Win,Alt+Tab,Alt+F4(which Windows intercepts locally otherwise). - Auto SSH-tunneled VNC: Add a jump host on a VNC session and tunneling happens automatically — the otherwise-plaintext VNC traffic rides inside SSH encryption. Supports a "loopback gateway" hop for the libvirt / QEMU / Proxmox case where the VNC console is bound to the hypervisor's 127.0.0.1.
- Jump-host chains: Chain any number of SSH gateways before the target connection — per-hop credentials (password or key), per-hop error attribution (you always know which hop rejected you), works for SSH, SFTP, and VNC.
- Encrypted session vault: AES-256-GCM with PBKDF2-SHA256 (600,000 iterations) under a master password. Atomic writes via tmp file + replace, 12-byte nonce regenerated per save, key material zeroed on lock / exit.
- Auto-lock: After 15 minutes of inactivity (configurable 1–240) the vault locks. Already-open terminals keep running — only new connects, edits, and CRUD operations are blocked. Manual lock via
Ctrl+Shift+Lor the title-bar padlock. - MobaXterm session import: Read a
.mxtsessionsexport and bring everything in — SSH, SFTP, RDP, VNC, plus folder structure and single-hop jump hosts. Supported protocols pre-checked; unsupported (Telnet / Mosh / Serial / etc.) listed with an "Unsupported" tag so you see exactly what was skipped. - Sidebar with groups, search, and drag-to-reorder: Hierarchical TreeView with
/-separated groups, drag sessions between groups, persistent expansion state, live search by name oruser@host:port, multi-select with Ctrl/Shift, bulk actions on selections (open many SSH tabs at once, duplicate, delete). - Tabbed UI with split view: Drag to reorder tabs, colored top accent per session, status dot (idle / connecting / connected / error / disconnected). Toggle split view to render every open tab simultaneously in an auto-laid grid.
- Inline credential prompts: When a session has no saved username or password, you're prompted inside the terminal at connect time — like OpenSSH does. Multi-hop jumps are numbered (
Jump host 1/3:), key-auth hops skip the password prompt, paste works inside prompts. - Single-file portable .exe: Ships as a self-contained Windows executable — no .NET runtime required on the target machine. WebView2 Runtime is the only prerequisite (pre-installed on Windows 11; one-time install on Windows 10).
- Store-friendly: All app-data lives in
%APPDATA%\RemoteDesk\and%LOCALAPPDATA%\RemoteDesk\. Nothing is written next to the.exe, so the read-only Microsoft Store install layout works out of the box.
Windows 10 / 11 (x64)
WebView2 Runtime — pre-installed on Windows 11; one-time install on Windows 10 if the terminal pane is blank: developer.microsoft.com/microsoft-edge/webview2
Feature Deep Dive
Every saved server, credential, jump-host chain, and host-key fingerprint is stored inside a single encrypted file (%APPDATA%\RemoteDesk\sessions.vault) protected by your master password.
- AES-256-GCM authenticated encryption — a wrong password produces a clean tag mismatch rather than a partial decrypt.
- PBKDF2-SHA256 with 600,000 iterations for key derivation — slows brute-force attempts dramatically.
- Atomic writes via
.tmp+File.Replaceso an interrupted save never corrupts your vault. - Key material is zeroed on manual lock, idle auto-lock, and app exit.
- No "remember device", no cloud backup, no master-password reset — if you forget the master password your sessions are gone and the vault must be reset. This is intentional and what makes the model strong against a stolen laptop.
- Full xterm.js terminal rendered in WebView2 — matches the experience of a modern desktop terminal emulator.
- Password or private-key auth, with browse-for-key-file and optional passphrase.
- Inline credential prompts at connect time when nothing is saved — banners label which hop is asking (
[Jump host: bastion:22],[Target: 10.1.1.81:22]). - Copy / Paste / Select All via
Ctrl+Shift+C / V / A. Multi-line paste opens a confirm dialog with a yellow warning that pasting will execute commands. - Multi-paste: right-click → Multi-paste to terminals → pick any subset of open terminals (All / None / Others shortcuts) and send the same text to every one.
- TOFU host-key handling — the SHA-256 fingerprint is recorded on first successful connect; a mismatch on later connects is rejected with a red error banner.
- Reconnect banner on disconnect/error — one click reuses the same tab with scrollback preserved.
Right-click any SSH session → Open file browser (SFTP). The SFTP tab shares the SSH session's credentials and jump-host chain — no second login.
- Dual pane: local Windows files on the left, remote SFTP files on the right, each with Up / Home / Refresh + editable path bar.
- Native Windows shell icons for file types (
.txt,.zip,.png...) — icons match what you see in Explorer. - Drag-drop in both directions and from Windows Explorer onto the remote pane.
- Recursive folder transfers — directory tree is walked, matching remote dirs created on demand (existing dirs reused, not re-created).
- Per-transfer progress and cancel in a transfer drawer with live throughput, direction-tinted arrows, and color-coded state.
- Merge / overwrite prompts before clobbering anything that already exists (in either direction).
- Concurrency cap: up to 3 transfers run in parallel per SFTP tab; the rest queue in the drawer.
- Recursive delete with pre-counted progress (
47 / 189 items).
RDP sessions render inside the tab via the Windows MsRdpClient ActiveX hosted in a WindowsFormsHost — the same way MobaXterm shows RDP.
- No external
mstsc.exewindow, no taskbar entry for the session. - No Windows 11 "Opening Remote Desktop Connection" warning — that prompt is tied to
mstsc.exeopening.rdpfiles, which RemoteDesk doesn't do. - Saved password injected directly via
ClearTextPassword— no Windows Credential Manager dance. - HiDPI-correct —
DesktopWidth/Heightare computed in real pixels from the WPF viewport × the current DPI, and the correctDesktopScaleFactoris sent to the server. - Live resize with the RemoteDesk window —
UpdateSessionDisplaySettingsrenegotiates a new resolution on the fly with modern Windows servers; older hosts fall back to smart-sized scaling. - Clipboard redirection on; smart-card redirection on; drive / printer redirection off (toggleable in future releases).
VNC sessions render inside the tab through MarcusW.VncClient — the framebuffer is drawn into a WPF WriteableBitmap, no separate viewer process required.
- Aspect-preserving fit with letterboxing (matches TightVNC / TigerVNC viewer behaviour).
- Native mouse / keyboard / scroll-wheel forwarding with a built-in WPF→X11 keysym map.
- Send keys menu for
Ctrl+Alt+Del,☔Win,Alt+Tab,Alt+F4— Windows intercepts these locally, so the menu synthesizes them directly into the remote framebuffer. - Plaintext-VNC warning bar when connecting to a non-private host with no SSH tunneling — the connection still proceeds (LAN-only setups are valid) but you're warned before typing a password.
- Automatic SSH tunneling when you add a jump host — the otherwise-plaintext VNC traffic rides inside SSH encryption. No "use SSH tunnel" checkbox to remember.
- Loopback gateway hop for the libvirt / QEMU / Proxmox case where the VNC console is bound to the hypervisor's 127.0.0.1 — one extra SSH hop lands on the hypervisor itself before the TCP forward.
- Better error messages for empty / DES-weak passwords and per-hop SSH chain failures — you always know which hop rejected the connection.
- Any number of hops, reorderable in the session editor — first row is dialed first, last row does the final TCP forward to the target.
- Per-hop credentials — mix password and private-key auth across the chain.
- Per-hop error attribution — when a chain fails, the error names the exact hop and auth method (e.g. SSH hop failed: admin@bastion:22 (password auth): Permission denied (password)).
- Works for SSH, SFTP, and VNC — same chain definition is reused across protocols.
- Inline prompts for missing jump-host credentials at connect time (in the terminal for SSH/SFTP); for VNC, missing credentials produce a clear pre-connect error rather than ambiguous "Permission denied".
- Reads a
.mxtsessionsexport and shows every entry in a preview dialog before importing. - Supported protocols (SSH, SFTP, RDP, VNC) are pre-checked.
- Unsupported protocols (Telnet, Mosh, Serial, RSH, Xdmcp, FTP, WSL, Browser, Shell, AWS S3, ...) appear with a disabled checkbox and an "Unsupported" tag — you see exactly what was skipped and why.
- Folder structure preserved — MobaXterm's
\-separated folders map to RemoteDesk's/-separated groups, including empty folders. - Single-hop jump hosts ("Connect through SSH gateway") are imported natively for SSH/SFTP sessions.
- Passwords are not imported (MobaXterm encrypts them with its own master key) — you'll be prompted inline on first connect.
🎯 Perfect For
- Sysadmins & DevOps — one client for every Linux box, every Windows server, and every VM console.
- Network engineers — tunnel into management VLANs via bastion chains; never type a jump-host password twice.
- MSPs & consultants — one encrypted vault per customer, MobaXterm import to migrate fast.
- Security-conscious teams — everything stays on the laptop, vault is encrypted at rest, no cloud sync.
- MobaXterm users — bring your sessions in unchanged on day one.
⭐ Why Choose RemoteDesk?
- SSH, SFTP, RDP, VNC — all four in one tabbed window, all four embedded (no external
mstsc/ VNC viewer launches). - Encrypted vault by default — not an afterthought, not opt-in.
- Auto SSH-tunneling for VNC — safe defaults without checkbox-hunting.
- No subscriptions — one-time purchase via Microsoft Store, free 7-day trial.
- No telemetry, no cloud — your sessions and credentials never leave your machine.
Latest Release
Version 1.0 — May 2026
Initial release — SSH, SFTP, embedded RDP and VNC, jump-host chains, MobaXterm import, encrypted vault, hierarchical sidebar with split view.