Repository navigation
Releases: thanhhai45/mssh
Release list
v0.8.2
What's Changed
- Add file browsing support to ssh-config sessions by @thanhhai45 in #3
- chore: version 0.8.2 by @thanhhai45 in #4
Full Changelog: v0.8.1...v0.8.2
v0.8.1
SSH over SSM gets the same second chance as SSH
When a server is busy with logins, sshd's MaxStartups setting turns a share
of new connections away before they authenticate. Plain SSH connections have
retried those since v0.3.1; SSH over SSM connections now do too, opening a
fresh tunnel for each attempt — up to three, 1.5 seconds apart.
A connection AWS itself refuses is not retried: an instance that is stopped or
offline, a profile without permission to start a session, an instance this
account cannot see. Another attempt would fail the same way, so the reason is
shown straight away instead of after several seconds of waiting.
Nothing is sent before authentication, so retrying never repeats a password or
a key.
Also
- The AWS SSM and SSH over SSM connections are now covered by tests that run
without an AWS account, including the whole SSH-over-SSM path through to an
SSH server.
The build is still not signed with an Apple Developer ID — right-click the app
and choose Open the first time.
v0.8.0
Files
Browse, download and upload files on the machine a terminal is connected to —
over that terminal's own SSH connection, so there is no second login, no second
password prompt and no second SSM tunnel.
- Files on a server page, or ⌘E, opens a drawer for the active tab.
Click a directory to open it, go up a level, or type a path. - Download any file — the button is on every row, or double-click. You
choose where it goes; the dialog opens in Downloads. - Upload one or several files into the directory you are looking at. A
file of the same name is replaced. - Progress for every transfer, with a cancel button. The Files button
shows how many are still running when the drawer is closed, and transfers
keep going while you move around the app. - Nothing half-written. Each transfer writes to a hidden temporary file and
only takes the real name once complete. A transfer that fails or is cancelled
leaves the destination as it was, and its temporary file is removed.
Disconnecting, deleting a machine or quitting cancels that session's
transfers first, so the cleanup can still reach the server.
Files work with SSH and SSH over SSM connections. AWS SSM and
ssh config connections run a program rather than holding an SSH connection,
so there is nothing to browse over yet; the drawer says so.
The build is still not signed with an Apple Developer ID — right-click the app
and choose Open the first time.
v0.7.0
Session history
mssh now keeps a record of every session: which machine, in which workspace,
when it opened, how long it lasted, which AWS profile, region and credentials it
used, and how it ended — disconnected, ended, failed (with the reason), app quit,
or interrupted by a crash.
- History in the sidebar shows it, filtered by workspace, machine and time
range, and refreshes as sessions open and close. - Export the same view as CSV or JSON. CSV cells that look like a formula are
kept as text, so a machine name cannot run as a formula in a spreadsheet. - The record stays put. Names and settings are copied in when a session
opens, so renaming a machine later does not rewrite its history, and deleting
a machine or workspace does not delete the record that it was used. - It never contains a password or an AWS key — only where the credentials came
from.
The history lives in the local database, on this machine only. It starts with
this version: sessions from before the upgrade were not recorded.
Also
- A wide table no longer pushes a page past the edge of the window.
The build is still not signed with an Apple Developer ID — right-click the app
and choose Open the first time.
v0.6.3
Terminal themes you already know
- New palettes: GitHub Dark, GitHub Light, iTerm2 Default and VS Code Dark
Modern, taken from their original colour schemes. - A new default, Auto: GitHub Light while the app is light, GitHub Dark while
it is dark — and it follows macOS when it switches between them while mssh is
open. If you never picked a terminal theme, your terminal moves from Dracula
to Auto; a theme you chose yourself stays as it is. - Theme cards show a terminal, drawn in each palette and in your chosen font,
instead of a row of colour swatches.
GitHub Light is the first light terminal theme in mssh.
The build is still not signed with an Apple Developer ID — right-click the app
and choose Open the first time.
v0.6.2
Fixes
- First connection to a server now asks instead of failing. A host this
machine had never seen used to fail with advice to runssh <host>once —
impossible for an SSH over SSM instance, which has no address outside its
tunnel. mssh now shows the server's key fingerprint and, when you choose
Trust and connect, records it in~/.ssh/known_hosts(the file thessh
command uses too). A key that changes is still refused outright. - No
~/.ssh/known_hostsyet is no longer an error. Every server is simply
new, and trusting the first one creates the file. - System SSH with stored AWS keys gets its region. A
ProxyCommandthat runs
aws ssm start-sessionfailed with You must specify a region: mssh cannot
add--regionto your ProxyCommand, so the workspace's region now reaches it
throughAWS_REGION/AWS_DEFAULT_REGION. - A workspace that keeps its own AWS keys now needs a region. With stored
keys there is usually no~/.aws/configto fall back on. If an existing
workspace has none, edit it and add one.
The build is still not signed with an Apple Developer ID — right-click the app
and choose Open the first time.
v0.6.1
A disk image to install from
Each release now comes with a .dmg alongside the .zip: open it and drag
mssh onto Applications. The app inside is the same as in v0.6.0.
The build is still not signed with an Apple Developer ID, so macOS will warn the
first time you open it — right-click the app and choose Open, or allow it in
System Settings → Privacy & Security.
v0.6.0
AWS without the AWS CLI set up
A workspace can now keep its own AWS key pair. Edit the workspace, choose
Use keys stored in mssh, and either type the keys in or press
Import from shell to copy the AWS_* variables your ~/.zshrc or
~/.bashrc exports — you see what was found before anything is saved.
Workspaces that use ~/.aws, SSO or a profile keep working exactly as before.
Credentials live in the local database
SSH passwords move out of the OS keychain and into mssh's own database, so they
work the same on macOS, Windows and Linux. The database is readable by you
alone (0600), and nothing is ever sent anywhere.
Before you upgrade
- macOS may ask once for each saved password. On first launch, mssh moves
the passwords earlier versions saved in your keychain into its database. The
build is not notarised, so macOS can prompt for each one — choose Always
Allow. It is the last time mssh touches the keychain. - AWS variables from your shell are no longer picked up automatically. mssh
now takes onlyPATHfrom your login shell. If a workspace relied on
AWS_PROFILEexported in~/.zshrc, set that profile on the workspace, or
switch it to stored keys and import them.
v0.5.1
v0.5.1 — multiple terminals per machine
v0.5.0
v0.5.0 — login shell environment, new app icon