SSH, SFTP and serial in one window.

Your servers in an encrypted vault, the file browser beside the shell, port forwarding and jump hosts where you need them — and updates that are signed, so the update server cannot become the problem.

Version 0.10.1 · Windows and Linux · x86-64

What it does

Sessions in an encrypted vault

Hosts, keys and passwords live in one file encrypted with AES-256-GCM behind an Argon2id-derived key. Nothing is written in the clear, and the master password never leaves the machine.

SSH, SFTP and serial

A session is a shell, a file browser, or a COM port. SFTP-only opens no terminal at all, for accounts that are not allowed one; serial takes a port and a baud rate and gives you the same terminal.

Terminal and files, side by side

The file browser follows the shell's working directory. Drag files in or out, edit them in place, and watch transfers with real progress — including what was skipped and why.

Port forwarding

Local, remote and dynamic (SOCKS5), tied to the session they belong to and started with it if you want. A worked example of each direction is in the app.

Jump hosts

A ProxyJump chain of any length, each hop with its own key if it needs one. A changed host key anywhere along it is reported for the machine that actually presented it.

Built-in editor

Open a remote file, change it, save it back — no download, no re-upload. Syntax highlighting for around thirty languages, and the permissions are restored after writing.

One command, several hosts

Pick the sessions and type once. Useful for the things that have to be done identically everywhere and are otherwise done four times with one typo.

Synchronised between machines

The vault syncs over SFTP, WebDAV or S3 — end-to-end encrypted, so the server stores a blob it cannot read. Merges by default; forced push and pull are there when merging is not what you want.

Signed updates

Every package is signed and the public key is compiled into the application, so a compromised update server cannot hand out a version of its own. Package-manager installs update the normal way.

A look at it

Sessions and terminal
Sessions and terminalFolders, colours per host, and the terminal beside them. The colour shows in the tree, the tab and the edge of the terminal, so "which machine is this?" has an answer while you are typing.
Files where the shell is
Files where the shell isThe browser follows the working directory of the session. Upload, download, rename, permissions — and drag straight out to the desktop.
Edit without downloading
Edit without downloadingA remote file opens in a tab next to the terminal, with highlighting and the file's mode shown. Save writes it back over the same connection.
Three kinds of session
Three kinds of sessionSSH, SFTP-only, or a serial console. The dialog only asks for what the chosen kind actually needs.

Downloads

One package per system — take the one that matches how you install things.

Windows

CoreTerm_0.10.1_x64-setup.exe
The usual choice. Updates itself from then on.
8.5 MB
CoreTerm_0.10.1_x64_en-US.msi
For deployment by group policy.
11.0 MB

Linux

CoreTerm_0.10.1_amd64.AppImage
Runs on any distribution without installing. Updates itself.
86.7 MB
CoreTerm_0.10.1_amd64.deb
Debian, Ubuntu, Mint
12.9 MB
CoreTerm-0.10.1-1.x86_64.rpm
Fedora, RHEL, openSUSE
12.9 MB
coreterm-0.10.1-1-x86_64.pkg.tar.zst
Arch, CachyOS, Manjaro — <code>pacman -U</code>
11.9 MB

Package repositories

Register the repository once and CoreTerm comes along with every ordinary system update, without the application having to be running. These are also the installs the built-in updater deliberately does not touch — see the note below.

Arch, CachyOS, Manjaro (pacman)
# Fetch the key and sign it locally
curl -fsSL https://ssh-client.coreserv.de/arch/coreterm-key.asc | sudo pacman-key --add -
sudo pacman-key --lsign-key 5E7E8AEC04DDBEBFF626B363B8BD7C093054D755

# Add to /etc/pacman.conf
[coreterm]
Server = https://ssh-client.coreserv.de/arch/$arch

sudo pacman -Sy coreterm
Debian, Ubuntu, Mint (apt)
curl -fsSL https://ssh-client.coreserv.de/coreterm-key.asc \
  | sudo gpg --dearmor -o /usr/share/keyrings/coreterm.gpg

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/coreterm.gpg] \
  https://ssh-client.coreserv.de/deb stable main" \
  | sudo tee /etc/apt/sources.list.d/coreterm.list

sudo apt update && sudo apt install core-term
Fedora, Nobara, RHEL, openSUSE (dnf, zypper)
sudo tee /etc/yum.repos.d/coreterm.repo <<'EOF'
[coreterm]
name=CoreTerm
baseurl=https://ssh-client.coreserv.de/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://ssh-client.coreserv.de/coreterm-key.asc
EOF

sudo dnf install core-term

Nobara is Fedora-based and needs nothing of its own. The package is called core-term on deb and rpm and coreterm on Arch; both declare Provides: coreterm.

Why don't the .deb, .rpm and Arch packages update themselves? Because the package manager owns those files. An application that replaced them behind its back would make the package database wrong, and the next system update would overwrite the lot again. Those installs report a new release and link here; the Windows installer and the AppImage own their own files and replace them directly.

New in 0.10.1

Verifying what you downloaded

Also as a file: SHA256SUMS. The packages in the apt and rpm repositories are signed with GPG and checked by the package manager; the installer and AppImage carry a signature the application itself verifies before installing anything.

bb97b56a2275bbe3a2f2bff58591d3e26d022ad81995f406a0a44356a2235694  CoreTerm_0.10.1_x64-setup.exe
ea9e34936db4d1578a0a0f878bd295d01142a57a962e37e27bc29163756b4a9f  CoreTerm_0.10.1_x64_en-US.msi
b0431a1b8d29e149a615f445b749fb8d61494204783e461d1ee0ecba114182cc  CoreTerm_0.10.1_amd64.AppImage
b7f401f96b04b3d699c19afa90cc4847b3eaf93df97031edfe5df6578cc97662  CoreTerm_0.10.1_amd64.deb
6c8f27d558b37c0bbf0043511e3e31446bae0152182b295880503fc2247c023d  CoreTerm-0.10.1-1.x86_64.rpm
9853eed08c1f16d3a0ab93c52bef4495e51cd71e801cf258cebde6be0771d04a  coreterm-0.10.1-1-x86_64.pkg.tar.zst