Skip to content

Releases: thanhhai45/mssh

v0.8.2

Choose a tag to compare

@thanhhai45 thanhhai45 released this 12 Oct 14:43

What's Changed

Full Changelog: v0.8.1...v0.8.2

v0.8.1

Choose a tag to compare

@thanhhai45 thanhhai45 released this 11 Oct 10:10

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

Choose a tag to compare

@thanhhai45 thanhhai45 released this 10 Oct 18:36

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

Choose a tag to compare

@thanhhai45 thanhhai45 released this 10 Oct 15:48

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

Choose a tag to compare

@thanhhai45 thanhhai45 released this 10 Oct 12:08

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

Choose a tag to compare

@thanhhai45 thanhhai45 released this 10 Oct 10:49

Fixes

  • First connection to a server now asks instead of failing. A host this
    machine had never seen used to fail with advice to run ssh <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 the ssh
    command uses too). A key that changes is still refused outright.
  • No ~/.ssh/known_hosts yet 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 ProxyCommand that runs
    aws ssm start-session failed with You must specify a region: mssh cannot
    add --region to your ProxyCommand, so the workspace's region now reaches it
    through AWS_REGION / AWS_DEFAULT_REGION.
  • A workspace that keeps its own AWS keys now needs a region. With stored
    keys there is usually no ~/.aws/config to 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

Choose a tag to compare

@thanhhai45 thanhhai45 released this 08 Oct 17:12

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

Choose a tag to compare

@thanhhai45 thanhhai45 released this 08 Oct 17:02

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 only PATH from your login shell. If a workspace relied on
    AWS_PROFILE exported in ~/.zshrc, set that profile on the workspace, or
    switch it to stored keys and import them.

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 15:49
v0.5.1 — multiple terminals per machine

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 01:14
v0.5.0 — login shell environment, new app icon