Repository navigation
pspssh 1.1.0 — hosts, a keyboard, a terminal
The client you can actually use without a computer nearby.
v1.0.0 proved a PSP Go could complete a modern SSH handshake. It also ran one hardcoded command, took its server from a text file you had to edit on a laptop, and printed the host key's fingerprint without checking it against anything. All three are fixed.
Servers live in the application now
pspssh v1.1.0 Mert Cobanov
pve bb@192.168.8.45:2222
> macmini mert@192.168.1.20:22
laptop mert@10.0.0.4:22
+ add a host
X connect [] edit /\ delete SEL forget key O quit
Add, edit and delete hosts with the system on-screen keyboard. The list is written through a temporary file and moved into place, so a battery pull halfway through adding one server cannot cost you the others.
Storing a password is now a choice. Leave it empty and you are asked at connect time, and it is wiped afterwards — which was always the safer arrangement and was impossible while typing meant a computer.
A terminal, not a printout
Colours, cursor addressing, erase, insert and delete, scroll regions. What a shell sends, drawn the way a shell means it, instead of ESC[0;32m appearing where a green prompt should be.
Typing is line at a time, because the keyboard is a modal dialog. The buttons carry what a line cannot: Enter, Ctrl-C, Ctrl-D, Tab, Escape, Ctrl-L, and the arrow keys on the d-pad — so shell history works.
Host keys are checked
Trust on first use, then the same key every time. A change is refused, with no override on that screen: on a handheld that button is pressed before it is read, and it is the only moment an interception is visible.
Servers do get rebuilt, so a key can be forgotten — from the host list, with SELECT, behind a confirmation. Deliberately not next to the alarm it silences.
Under it
The screen is drawn by this application now rather than by pspDebugScreen, which is what made a keyboard and a terminal possible at all — the on-screen keyboard renders into the GU draw buffer and the debug console knows nothing about one.
Three modules have no hardware in them, so 106 assertions run on a laptop: the storage layer, the host key check, and the escape-sequence parser. Plus the existing six against a real OpenSSH. What still needs a PSP is a screen, a radio and a system keyboard.
Also fixed: the handshake timeout counted loop turns and called them milliseconds; the version constant named a build that was not running; the config reader stopped at 1023 bytes without saying so; and the application compiled wolfSSL's headers as a different build from the library it links against.
Installing
Download EBOOT.PBP below and copy it to the memory card as PSP/GAME/pspssh/EBOOT.PBP — on a PSP Go the internal storage is ef0: rather than ms0:. Launch it from the XMB under Game and add your servers from the list.
A PSP does WEP and WPA-TKIP. WPA2-AES needs the wpa2psp plugin on 6.61 PRO; on ARK CFW it is already there.
Full changelog: v1.0.0...v1.1.0