On this page
BebboSSH AROS 1.0.7, released on 19 October 2026, fixes a regression that broke password logins from PuTTY and related clients. It updates all three AROS builds, i386, x86_64 and aarch64, combining compatibility fixes with checks on SSH packets, SFTP requests, forwarding and key generation.
The AROS fork retains credit to Stefan “Bebbo” Franke’s original project; Michele Dipace’s port is distributed under GPL v3 or later. Version 1.0.7 identifies the AROS port, not a matching upstream release number: its upstream base here is BebboSSH 1.45. The kit includes the bebbosshd server, bebbossh client, bebboscp SCP client and bebbosshkeygen Ed25519 key generator.
Why PuTTY and WinSCP password logins failed
Version 1.0.6 tightened authentication and fixed uploads, but closed a connection if its client sent SSH_MSG_IGNORE before login. PuTTY, plink, pscp, psftp and WinSCP send one before the password, so the connection could fail even though the password was correct.
Version 1.0.7 again handles IGNORE, DEBUG, UNIMPLEMENTED and DISCONNECT before authentication. This does not reopen pre-login channel access: the notes report checks that pre-authentication channels are refused and a public-key query alone does not authenticate an account.
After login, SSH_MSG_DISCONNECT now ends the session without waiting for the connection to close. On x86_64 an already-running command still has the synchronous backend’s limitation: processing resumes when the command finishes, not through a promised immediate process interruption.
The entropy pool reaches the public packages
The 1.0.6 article correctly described the pool as post-release work. Version 1.0.7 includes it in the packages: SHA-512 mixes CPU timer jitter, timer.device wake-ups, system counters and a persistent 64-byte seed at ENVARC:.ssh/random_seed, replaced by each program on first use.
This comes from Matthias Münch’s patch 0008 for BebboSSH 1.46.1, with explicit credit, not a claim that the entire fork has been rebased to that release. Under QEMU without hardware virtualisation, the key generator warns when the CPU timer has little jitter; timer wake-ups and the seed then carry more weight. That is not a reason to distribute cloned images containing identical seeds.
Each machine needs its own seed. Before creating the permanent host key, the manual recommends letting a throwaway key create the seed through bebbosshkeygen -f T:seed_key, then deleting that temporary pair. Improved collection does not guarantee a system CSPRNG on every AROS configuration.
Checking SFTP and SSH data before using it
SFTP requests are bounded from 5 bytes to 256 KiB. Strings and subsequent fields must fit within the request; a malformed request closes its SFTP channel. Documented tests include OPEN without required flags, CLOSE with an empty handle and impossible lengths, checking that the daemon continues serving afterwards.
Public-key login builds the key and signed data in dedicated buffers, not behind the received packet. Signed requests larger than 1 KiB are refused. Clients check unencrypted-packet padding, KEXINIT list lengths and short channel packets. These are validity and bounds checks, not newly introduced encryption algorithms.
Local -L forwarding bounds the channel’s maximum packet size and reads at most one packet at a time: larger bursts could corrupt forwarded data in 1.0.6. AllowTcpForwarding also changes conservatively: no, remote, false, off, 0 and unknown values refuse forwarding. In particular, off previously left it enabled.
Keys, error reporting and architecture-specific fixes
bebbosshkeygenchecks writes and removes a partial private key. It exits with 10 for that failure, or 5 when only the public.pubfile fails, and wipes its secrets; AES and ChaCha20 also clear key state.bebbosshandbebboscpreportERROR_START, value 29, when the server refuses a command, shell, terminal or SFTP subsystem. The same applies to a missing local source file inbebboscp: these cases previously could return success, exit 0.- A key appended to
known_hostsstarts on its own line even when the existing file has no trailing newline. - On i386 the daemon’s timer-request cleanup uses the correct release call: the old one could damage the system memory list.
- On i386 and aarch64 the key generator no longer consumes the command line as its first answer. Console prompts wait for the user; redirected input is read normally.
The x86_64 mincrt code also fixes realloc on allocation failure: the original block remains valid and owned by its caller. This is required by the C contract, separately from user-visible SSH features.
Three builds with different limitations
i386 alt-abiv0: no full interactive PTY shell, redirection or pipes. A command typed in the interactive session occupies the daemon until completion. Prefer ssh host command for long commands, which run in a separate task. A remote command still running after 30 seconds may report a timeout and status 124, but it is not terminated: stopping the daemon waits for completion. Without a Ciphers directive, the i386 server offers AES128-GCM alone.
x86_64 mincrt: command execution remains synchronous, including non-interactive commands. A long command blocks the daemon loop and Ctrl-C does not stop it; keep commands short. SFTP paths on unmounted volumes still open a local requester and block service until it is dismissed. HomeDir, mtime preservation and SFTP links depend on the documented optional flags BEBBOSSH_AROS_X64_CD, BEBBOSSH_AROS_X64_SFTP_MTIME and BEBBOSSH_AROS_X64_SFTP_LINKS, off unless set.
The x86_64 notes also report AROS One halts or reboots under heavy load with the e1000 driver. Its fix is identified in upstream AROS issue 274; until the system image includes it, the notes recommend rtl8139 or pcnet. BebboSSH does not itself contain that network-driver fix.
aarch64 Raspberry Pi: the i386 shell limitations also apply here. On the Pi 400, debug logging through -v5 into a console during heavy transfers froze the system in documented tests; keep the default log level. On FAT SYS:, interpret a protect error according to the manual rather than assuming that file transfer failed.
On all builds, OpenSSH put -p may lose the requested timestamp because AROS updates it on close. The sample passwd contains test credentials: change them before exposing the daemon. The three architecture packages are not interchangeable.
Documented tests versus today’s publication checks
The notes report 100/100 successful logins and 80/80 zero-delay transfer-stress passes across the three architectures, SFTP uploads from 1 to 16 MiB and transfers through direct-tcpip. They also describe OpenSSH key authentication, pre-password IGNORE/DEBUG, malformed requests, disconnects, daemon restarts and native clients.
x86_64 testing covers QEMU with a generic CPU and AES-NI/PCLMUL enabled; i386 shutdown testing includes commands still running. The stated aarch64 target is a Raspberry Pi 400, AROS dated 12 September 2026, Ethernet and DHCP. Six self-tests of the same build are reported for i386 and ARM64, not as tests performed on the Mac for this article.
Today’s checks instead cover source and packages: all three release notes, differences from 1.0.6, six GitHub archives with matching SHA-256 digests and verified ZIP or tar.gz integrity. Aminet lists 1.0.7 for all three builds. No new Pi or VM testing is invented. Release tags point to the code prepared for 1.0.7; the following commit only changes smoke-script default values.
Official downloads
- AROS aarch64 Raspberry Pi: GitHub release 1.0.7, tar.gz, ZIP, Aminet 1.0.7.
- AROS i386 alt-abiv0: GitHub release 1.0.7, tar.gz, ZIP, Aminet 1.0.7.
- AROS x86_64 mincrt: GitHub release 1.0.7, tar.gz, ZIP, Aminet 1.0.7.
Follow the bundled README.AROS.txt for installation, keys and configuration, preserving private files during the update. Use the correct architecture package and repeat login and transfer checks before relying on it as a remote service.
Sources
- https://github.com/kaffeine1/bebbossh-aros/releases/tag/v1.0.7-aros-x86_64
- https://github.com/kaffeine1/bebbossh-aros/releases/tag/v1.0.7-aros-i386-abiv0
- https://github.com/kaffeine1/bebbossh-aros/releases/tag/v1.0.7-aros-aarch64
- https://github.com/kaffeine1/bebbossh-aros/blob/4b5270b5c45824fe0c7a49aedbd6b9cf437de692/packaging/aros/README.AROS.txt
- https://github.com/kaffeine1/bebbossh-aros/blob/4b5270b5c45824fe0c7a49aedbd6b9cf437de692/README.md
- https://github.com/kaffeine1/bebbossh-aros/compare/v1.0.6-aros-x86_64…v1.0.7-aros-x86_64