MrTerm
A modern SSH, SFTP and RDP client for Windows and Arch Linux / CachyOS. All your servers live in one place and open in tabs: terminals, file transfers and remote desktops.
MrTerm is available in English and German. It follows your system language by default, and you can change it under Settings → Language.
Download & installation
Get the latest version from the releases page.
Windows
MrTerm-Setup-<version>.exe: installer (recommended)MrTerm-<version>-portable.exe: portable, runs without installation
Arch Linux / CachyOS
MrTerm-<version>.pacman: install withsudo pacman -U MrTerm-<version>.pacmanMrTerm-<version>.AppImage: make it executable (chmod +x) and run it
Optional packages on Linux:
sudo pacman -S freerdp gnome-keyring # use kwallet instead of gnome-keyring on KDE
freerdp is needed for RDP connections. gnome-keyring or kwallet lets MrTerm encrypt your saved passwords and keys.
Features
- Hosts: nested groups, tags, colors, search and Quick Connect (
user@host:port,rdp://host) - SSH terminal in tabs: password, key, SSH agent, keyboard-interactive/2FA, jump hosts (ProxyJump chains), startup command, environment variables, search, zoom and several color schemes
- SFTP: two-pane file browser (local ↔ remote), drag & drop, recursive folders, rename, delete, chmod and progress display
- RDP in a tab right inside MrTerm (Windows:
mstsc, Linux: FreeRDP), or in a separate window if you prefer - Keychain: generate Ed25519/ECDSA/RSA keys, import existing ones and copy the public key
- Port forwarding: local (-L), remote (-R) and dynamic/SOCKS5 (-D)
- Snippets: save frequently used commands and send them to a terminal with one click
- Known hosts: MrTerm warns you if a server's host key changes
- History of recent connections
- Import from
~/.ssh/configand from Devolutions Remote Desktop Manager (.rdm/XML, JSON or CSV) - Backup export and import
- 7 app themes (Midnight, Navy, Nord, Dracula, Catppuccin, Forest, Light) plus a custom accent color
- Encrypted vault using your operating system's keyring (Windows DPAPI, Linux libsecret/KWallet)
- Automatic updates: MrTerm checks for new versions on startup and can install them for you
Getting started
- Click New host, enter the address, username and password or key, and click Save.
- Double-click the host to connect. SSH hosts open a terminal, RDP hosts open a remote desktop tab.
- Right-click a host for more options, such as opening SFTP, duplicating it or copying its address.
For a quick one-off connection, press Ctrl+Shift+K and type user@host (or rdp://host).
Keyboard shortcuts
| Shortcut | Action |
|---|---|
Ctrl+Shift+K / Ctrl+Shift+T |
Quick Connect / command palette (outside the terminal also Ctrl+K) |
Ctrl+Shift+W |
Close tab |
Ctrl+Tab |
Next tab |
Ctrl+1..9 |
Switch to tab |
Ctrl+Shift+C / Ctrl+Shift+V |
Copy / paste in the terminal |
Ctrl+Shift+F |
Search in the terminal |
Ctrl + + / - / 0 |
Font size |
Ctrl+W, Ctrl+K and Ctrl+T still reach the terminal, so editors like nano work as usual.
Updates
MrTerm looks for updates on startup. You can also check manually under Settings → Updates. When a new version is available, click Install now and MrTerm will download the right package for your system and restart.
Troubleshooting
- "Vault not encrypted" (Linux): install
gnome-keyringorkwalletand restart MrTerm. - RDP doesn't work (Linux): install FreeRDP with
sudo pacman -S freerdp. Under Settings → RDP you can see which client MrTerm uses and choose another one. - RDP tab stays empty: turn off Show RDP connections as tabs under Settings → RDP to use a separate window instead.
For developers
npm install
npm start
In VS Code terminals, unset ELECTRON_RUN_AS_NODE first.
Building packages
- Windows:
npm run dist:win(on Linux, this needswine) - Arch/CachyOS:
npm run dist:linux
If the build fails with EACCES: permission denied, some files in node_modules belong to root. Run sudo chown -R $USER: node_modules and don't run npm with sudo.
Publishing a release: ./scripts/release-all.sh asks for the version and release notes, commits and pushes the version, builds Windows + Arch/CachyOS and uploads everything to Gitea. It reads the token from GITEA_TOKEN or from .gitea-token, which is not committed.
Translations live in src/i18n.js. The English text in the code is the key. To add a language, add a dictionary and list it in LANGUAGES.
To regenerate the icons after changing the logo, run npx electron scripts/make-icons.js.