Public Access
SSH client: a terminal on another machine (#2)
The SSH App opens one session to a shell, over libssh (LibSSH-ESP32 5.10.0) on mbedTLS. A server is trusted the first time on its fingerprint, and a changed key is a warning with Cancel selected. The password is typed each time and kept nowhere; or the device makes itself an Ed25519 key, whose public half is shown, written to /ssh/id_ed25519.pub and printed by `ssh status`. lib/term is the terminal: what a shell, less, top, nano and vim send, with sixteen colours, scroll regions, the alternate screen and 100 lines of scrollback. Five text sizes with Ctrl and + or -, from 60x20 to 26x8, told to the far end. The session goes on when the App is left; SSH shows in the Status Bar. `ssh user@host` in the Shell opens the App. Also: - Keys that aren't characters carry Shift, Ctrl and Alt. The terminal needs it, and it makes Ctrl+Fn+up/down in a note and Shift+Tab in Gemini work from the real keyboard. - IRC doesn't try to connect under 60 KB free: started with a session open, its TLS handshake took the heap down to 236 bytes. - libssh's own curve25519 is left out of the build (scripts/libssh_filter.py): libsodium's has the same names. Costs 292 KB of flash and about 50 KB of heap while a session is open; not started under 75 KB free. Docs: guide page, how-to, FAQ, home page, Status Bar, SD card folders, the memory how-to, README, glossary, N1 notes with Q254 to Q266 and the checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
This commit is contained in:
@@ -313,6 +313,34 @@ inline constexpr KeyHelp kVpn[] = {
|
||||
{"; .", "up, down"},
|
||||
};
|
||||
|
||||
// ssh: SSH, the hosts
|
||||
inline constexpr KeyHelp kSsh[] = {
|
||||
{"Enter", "connect, open"},
|
||||
{"; .", "up, down"},
|
||||
{"n", "a new connection"},
|
||||
{"d", "forget this host"},
|
||||
};
|
||||
|
||||
// ssh-terminal: SSH, the terminal
|
||||
inline constexpr KeyHelp kSshTerminal[] = {
|
||||
{"`", "Esc"},
|
||||
{"Alt `", "a backtick"},
|
||||
{"Fn ; . , /", "the arrows"},
|
||||
{"Fn Shift ; .", "Page Up, Page Down"},
|
||||
{"Ctrl a..z", "Ctrl+C and the rest"},
|
||||
{"Alt ; .", "scroll back, forward"},
|
||||
{"Ctrl + -", "larger, smaller text"},
|
||||
{"Ctrl Alt q", "disconnect"},
|
||||
{"Fn `", "leave it running"},
|
||||
};
|
||||
|
||||
// ssh-key: SSH, this device's key
|
||||
inline constexpr KeyHelp kSshKey[] = {
|
||||
{"Enter", "make a key, or a new one"},
|
||||
{"w", "write the public half to the card"},
|
||||
{"`", "back"},
|
||||
};
|
||||
|
||||
// notes: Notes, the list
|
||||
inline constexpr KeyHelp kNotes[] = {
|
||||
{"; .", "up, down"},
|
||||
|
||||
Reference in New Issue
Block a user