Public Access
Add uname, /uname and scp (key or masked password) in the Shell
- uname in the console and /uname in IRC: the firmware, its version and the chip - scp: one file between the card and a trusted server, over SSH, with the device's key or a password asked (masked) in the Shell - shared libssh helpers in src/platform/libssh_util - README, user guide, command reference and a how-to updated Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0162FokPdvY2KsS4NBfwyWPk
This commit is contained in:
@@ -9,7 +9,7 @@ screens = ["ssh.png", "ssh-trust.png", "ssh-terminal.png", "ssh-key.png", "ssh-c
|
||||
|
||||
The SSH App opens a **terminal on another machine**: a server, a Raspberry Pi, a router. What you type goes there, and what its programs print is drawn here: a shell, `less`, `top`, `nano`, `vim`.
|
||||
|
||||
It is a client and nothing more: one session at a time, to a shell. No file transfer, no port forwarding, no jump hosts.
|
||||
It is a client and nothing more: one session at a time, to a shell. No port forwarding, no jump hosts. Files go one at a time with [`scp` from the Shell](#copying-a-file-scp).
|
||||
|
||||
## Connecting
|
||||
|
||||
@@ -89,6 +89,26 @@ A session takes about **50 KB** of the device's 100 KB while it is open, and giv
|
||||
|
||||
See [When a connection says "not enough memory"](/howto/not-enough-memory/).
|
||||
|
||||
## Copying a file: scp
|
||||
|
||||
From the [Shell](/guide/shell/), `scp` copies **one file** between the SD card and a server, over the same SSH:
|
||||
|
||||
```
|
||||
scp /notes/a.txt user@host:docs/a.txt the card to the server
|
||||
scp user@host:/var/log/syslog /logs/ the server to the card, keeping its name
|
||||
scp -P 2222 /notes/a.txt user@host: another port (-P first); a path is needed after the colon
|
||||
scp -f user@host:x.txt /notes/x.txt replace a file that is on the card already
|
||||
```
|
||||
|
||||
Paths on the card start with a slash. A path on the server is the server's own, and starts in the user's home folder when it has no slash. Only a file: no folders, no `*`.
|
||||
|
||||
- **The server has to be one you have already trusted** in this App (the fingerprint question above). `scp` can't ask that question, and refuses a server it doesn't know, or one whose key changed.
|
||||
- **It logs in with the device's key, and asks for the password** if the server doesn't accept the key: the Shell shows the question and what you type is masked (<kbd>Back</kbd> cancels). The password is asked only in the Shell, not from a PC on the USB port or the Debug Console.
|
||||
- **A download arrives under a temporary name** and takes its real one when it is all there, so a cut connection never leaves half a file. A file already there is not replaced without `-f`.
|
||||
- It prints how long it took. `cancel` stops it. It needs the same 75 KB of free memory as a session, and **not while a session is open**.
|
||||
|
||||
See [Copy a file to or from a server](/howto/scp/).
|
||||
|
||||
## From the Shell
|
||||
|
||||
```
|
||||
@@ -96,6 +116,7 @@ ssh user@host connect, in the SSH App
|
||||
ssh user@host:2222 on another port
|
||||
ssh status the session, and this device's public key
|
||||
ssh stop end the session
|
||||
scp ... copy one file, see above
|
||||
```
|
||||
|
||||
## Keys
|
||||
|
||||
Reference in New Issue
Block a user