Kalgoorlie Retro Docs

Documentation for the Kalgoorlie Retro BBS, its games and servers

User Tools

Site Tools


saltbush:sessions

This is an old revision of the document!


Sessions, SSH and options

Saved sessions

Sessions live in folders in the Session Manager. Double-click to connect. Right-click for Connect, Properties…, Apply BBS Settings…, Duplicate and Delete…; right-click a folder to make a new session in it, select everything in it or apply the BBS settings to all of it. Ctrl+click selects several sessions; Properties… then changes only the settings you edit, in all of them.

File → New Session… opens a three-step wizard (protocol, connection details, name and folder). Turn the wizard off in Global Options to go straight to Session Options. File → Save Session As… saves the connection in the current tab.

Split panes

View → Split Left/Right (Ctrl+Shift+E) and View → Split Top/Bottom (Ctrl+Shift+O) split the active pane, so several sessions show at once. Click a pane to type in it; it gets a blue border. Drag the bar between panes to resize them; each session gets its own size. Choosing a tab that is already on screen moves to its pane; any other tab, and new sessions, open in the active pane. View → Close Pane and View → Single Pane undo the split.

Session Options

Every setting for a session is in Session Options, grouped in pages:

  • Connection: name, protocol, host, port, user name, folder and description.
  • SSH2: engine, key file and key generator, certificate, authentication order, jump host, proxy command, algorithms, agent forwarding, compression and extra OpenSSH options.
  • Forwarding: local (L), remote (R) and SOCKS (D) port forwards, forwarding-only sessions and X11.
  • Local Shell, Serial, Telnet and RLogin settings.
  • Logon: pre-connect command, remote command, expect/send pairs, an initial Enter and a logon script.
  • Terminal: terminal type, size, scrollback, resize behaviour, ANSI-BBS, iCE colours, line wrap.
  • Appearance: colours (each picker opens in its own window with a Close button), VGA font, font family and size, cursor, character set and tab title.
  • Input, Behaviour, Highlighting, Key Mappings, Logging, Buttons and File Transfer.

SSH

The built-in engine (libssh) is the default. It checks the server's host key against ~/.ssh/known_hosts and asks in the terminal before trusting a new one; a changed key is refused with a warning. It tries your SSH agent, the key file you chose (asking for its passphrase) and ~/.ssh keys, then keyboard-interactive and password logins, in the order set under Authentication order. It reads ~/.ssh/config unless you tick Ignore ~/.ssh/config.

The built-in engine also does:

  • X11 forwarding (Forwarding page): remote X programs show on your desktop. The server only ever sees a made-up cookie; Saltbush swaps in the real one. Without “Trust X11 clients” it uses an untrusted cookie, like ssh -X.
  • Agent forwarding (SSH2 page, Linux): the server can use your SSH agent's keys, for example to log in onward.
  • OpenSSH certificates (SSH2 page): set the certificate file (id_ecdsa-cert.pub); the key file next to it is used. RSA, ECDSA and Ed25519 certificates work in the built-in engine.
  • Kerberos (GSSAPI) (SSH2 page): log in with your Kerberos ticket from kinit, and optionally pass it on to the server.
  • Compression.
  • Jump hosts (SSH2 page): user@host:port, or several separated by commas. Saltbush logs in to each in turn; each hop has its own host-key check and login, using the session's keys. The SFTP browser works through jump hosts too.
  • Extra OpenSSH options (SSH2 page, one per line, without -o): about 40 are handled by the built-in engine, for example ServerAliveInterval, ServerAliveCountMax, ConnectTimeout, Ciphers, KexAlgorithms, HostKeyAlgorithms, MACs, StrictHostKeyChecking, UserKnownHostsFile, IdentityFile, IdentitiesOnly, ProxyJump, LocalForward, RemoteForward and DynamicForward. They win over the fields on the page.
  • Use FIPS-approved algorithms only (SSH2 page): key exchange, ciphers, MACs and key types are limited to FIPS-approved ones, RSA keys must be 2048 bits or more and Ed25519 keys are refused with a clear message. The page shows whether OpenSSL's FIPS provider is active on this computer. This limits algorithms; Saltbush itself is not a FIPS 140 validated module.

Sessions that need an option the built-in engine does not handle (and agent forwarding on Windows) use the OpenSSH client automatically, and the terminal names the option; and you can choose the OpenSSH client for any session under SSH2 → SSH engine. Passwords are never saved.

Logs

File → Log Session… starts and stops a log. Session Options → Logging can start one on connect, with a file-name template (%S session, %H host, %Y-%M-%D date and more), raw or plain-text logs, timestamps, a line prefix, a new file at midnight and connect/disconnect messages. Logs are readable only by you.

Button bars and key mappings

Tools → Button Bars… makes rows of buttons that send text or run an action; choose a bar per session (Buttons page) or for every session (Global Options). Highlighting and Key Mappings are tables: Add entry / Add mapping adds a row, the small buttons move a row up or down or remove it. A highlighting row has the word or pattern, a colour (click the swatch for a picker, or type a name or #hex) and a Regex box. For a key mapping press the key button and then the keys, choose the action, and type the text to send for send and sendline. Mistakes are shown under the row.

Sync between computers

Options → Global Options → Sync keeps your sessions the same on every computer. Tick Sync sessions with other computers through a shared folder and choose a folder that Nextcloud, Syncthing, Dropbox or a network share keeps the same everywhere, then do the same on each computer with the same folder. Changes move between computers within a few seconds; Sync Now syncs straight away.

Synced: sessions and their folders, credential user names, button bars and the default session. Not synced: passwords (set them on each computer in Tools → Credentials) and settings that belong to one computer: local shell, serial port, key and certificate files, known_hosts, proxy command, pre-connect command, logon script and log and transfer folders. If two computers change the same session, the newer change wins. Use a folder only you can write to.

saltbush/sessions.1794273737.txt.gz · Last modified: by slaterm