Files
Termix/plugins/ssh-terminal

SSH Terminal

SSH terminal sessions with jump hosts, host key checks, command history and a local terminal in the desktop app.

Features

  • SSH terminal sessions with jump hosts and host key checks.
  • Keeps a session alive on the server after a disconnect, so reopening the tab picks up where you left off.
  • Command history with autocomplete.
  • A toolbar docked to the terminal with host tools and live stats.
  • Paste or upload images to the host from the terminal.
  • A local terminal in the desktop app.
  • Attaches to tmux sessions when Tmux Monitor is on.

Settings

Admin

  • Keep sessions after disconnect and Terminal Session Persistence: keep a disconnected terminal alive, and for how long.
  • Command History and Command history for new hosts: allow history, and whether new hosts start with it on.
  • Touch Input: options for using the terminal on a touch screen.
  • Image Storage: where pasted and uploaded images are kept, and how many and how large.

Host

  • Enable Terminal: offer an SSH terminal for this host.
  • Enable Terminal Toolbar: show the toolbar for this host.
  • Command History: record commands run on this host.

Permissions

  • ssh-terminal.sessions: Let other features, like session sharing and recording, reach your live terminal sessions. Admins and users have it by default.
  • ssh-terminal.history: Read command history. Admins and users have it by default.

Services

Provides to other plugins:

  • sessions.live as ssh: find a live terminal session so it can be shared.
  • terminal.history: read a user's command history.

Uses from other plugins:

  • tmux.sessions to attach to tmux. Optional.
  • sessions.sharing for shared sessions. Optional.
  • recordings.writer to record sessions. Optional.

Development

npm run build      # build into dist/
npm run test       # run this plugin's tests
npm run typecheck  # type-check this plugin