Short: SSH2 for the Amiga Author: s.franke@bebbosoft.de Uploader: s franke bebbosoft de Type: comm/net Version: 1.31 Architecture: m68k-amigaos Required: bsdsocket.library (e.g AmiTCP) =============================================================================== NAME amigassh SSH2 for the Amiga, 68000+. Needs a server that supports the used crypto stuff. It will work on an unaccelerated Amiga but establishing the connection takes about one minute. It provides - amigasshd - amigassh - amigascp - amigasshkeygen An A3000 will * create an X25519 key pair in 2s * verify/verify a signature in ~5s Expected speed * A500 ~ 6kB/s * A3000 ~ 32kB/s * V4SA ~ 630kB/s NOTE that this is *NOT* feature complete. =============================================================================== SUPPORT ME If you want more features implemented: Support me! If you want to see the code on github.com: Support me more^^ Support me via PayPal: https://t.ly/N8WkB also small monthly donations do help :-) Thanks to all supporters! It financed me an one year subscription of the Amiga Future magazine plus a license of the TCP/IP stack RoadShow. =============================================================================== PROGRAMS =============== amigassh =============== USAGE: amigassh [options] [user@]host[:port] [command [args]] -? display this help -i select the private key file for public key authentication -p define a port -L [bind_address:]port:host:hostport listen at bind_address:port and forward to host:hostport -T don't allocate a pseudo terminal -v set verbosity, 0 = OFF, 7 = TRACE command to run instead of shell Open a shell on the host using your console colors and mouse. Or execute a command via SSH2. =============== amigasshd =============== * Create the folder ENVARC:ssh * Copy the file sshd_config to ENVARC:ssh * Edit the file ENVARC:ssh/sshd_config at your needs * Create an unencrypted key file and name it as in ENVARC:ssh/sshd_config * e.g. ENVARC:ssh/ssh_host_ed25519_key * Create and edit the file ENVARC:ssh/passwd * create entries with username password * the passwords are getting hashed on first user logon Start amigasshd to accept remote SSH2 connections. * A simple terminal emulation is provided. (Works now for some stuff on ApolloOS) * You may also use sftp copy files from/to the Amiga. (This should work on ApolloOS too) =============== amigasshkeygen =============== USAGE: amigasshkeygen [-f ] -? display this help Create ed25519 key files. =============== amigascp =============== USAGE: amigascp [options] [source] [target] one of [source]/[target] must be remote, the other local -? display this help -i select the private key file for public key authentication -p connect to the host at port -t allocate a pseudo terminal -u connect as or use @: -v set verbosity, defaults to 4 = INFO Copy files from remote to local or from local to remote. Wildstar pattern is supported in the last element of the source. =============================================================================== TESTING Many thanks to all testers, especially to * Patrik Axelsson * Javier de las Rivas * AiO (Joakim Ekblad) =============================================================================== COPYRIGHT ed/curve25519 based on code from Public Domain, Authors: - Daniel J. Bernstein - Niels Duif - Tanja Lange - lead: Peter Schwabe - Bo-Yin Yang * optimized, modified to use 16 bit integers by Stefan "Bebbo" Franke aes based on code from Nate Wiger gcm, sha256, sh512, amigassh itself: - Stefan "Bebbo" Franke Written in 2024 by Stefan "Bebbo" Franke To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see . =============================================================================== DISCLAIMER OF WARRANTY Software is provided "AS IS," without a warranty of any kind. You may use it on your own risk. =============================================================================== LIMITATION OF LIABILITY I SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY YOU OR ANY THIRD PARTY AS A RESULT OF USING OR DISTRIBUTING SOFTWARE. IN NO EVENT WILL I BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF I HAVE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. =============================================================================== HISTORY amigassh V1.31 * fix slot reuse in sshd amigassh V1.30 * lots of internal refactorings * sshd echoes next line if args end with ? * ESC stuff gets echoed if pty is present * add a missing ',' to xterm-amiga.src * handle partial send * handle EAGAIN - TCP stack is busy amigassh V1.29 * split packets for forwarded data if necessary * more/update logging * proper eof/close packets * use correct remote channel numbers... /ouch * remove channel limits * reuse local channel numbers * amigascp no longer aborts if a remote directory already ex