💾 Archived View for cugi.ie › aminet › 1723512352.gmi captured on 2024-08-18 at 19:19:44. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

SSH2 for the Amiga

   Author:       s.franke at bebbosoft.de
   Uploader:     s franke bebbosoft de
   Type:         comm/net
   Version:      1.27
   Architecture: m68k-amigaos
   Required:     bsdsocket.library (e.g AmiTCP)
   Date:         2024-08-12
   Readme:       http://aminet.net/comm/net/amigassh.readme
   Downloads:    3435

http://aminet.net/comm/net/amigassh.lha

===============================================================================

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

NOTE that this is *NOT* feature complete.

If you want more features: Support me.

If you want to see the code on github.com: Support me more^^

===============

amigassh

===============

USAGE: amigassh [options] [user at ]host[:port] [command [args]]

-? display this help

-i <file> select the private key file for public key authentication

-p <port> 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 <n> set verbosity, 0 = OFF, 7 = TRACE

<command> 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

===============

* e.g. ENVARC:ssh/ssh_host_ed25519_key

* create entries with

username password

* the passwords are getting hashed on first user logon

Start amigasshd to accept remote SSH2 connections.

ApolloOS)

ApolloOS too)

===============

amigasshkeygen

===============

USAGE: amigasshkeygen [-f <output_keyfile>]

-? 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 <file> select the private key file for public key authentication

-p <port> connect to the host at port <port>

-t allocate a pseudo terminal

-u <user> connect as <user>

or use <user> at <host>:<path>

-v <n> 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.

===============================================================================

SUPPORT ME

If you want more features implemented: Support me!

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.

===============================================================================

TESTING

Many thanks to all testers, especially to

===============================================================================

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 <s.franke at bebbosoft>

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 <https://creativecommons.org/publicdomain/zero/1.0/>.

===============================================================================

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.27

amigassh V1.26

amigassh V1.25

amigassh V1.24

amigassh V1.23

amigassh V1.22

amigassh V1.21

A3000 ~ 32kB/s

V4SA ~ 630kB/s

amigassh V1.20

A3000 ~ 30kB/s

V4SA ~ 580kB/s

amigassh V1.19

Note that only unprotected key files do work with amigassh.

A3000 ~ 20kB/s

V4SA ~ 400kB/s

this twice as fast as before!

amigassh V1.18

Normal Amiga applications do work on ApolloOS

Stuff from C:bin/ is still broken. /shrug

amigassh V1.17

not available volumes are denied and result into: not found.

An A3000 will copy with ~10kb/s, a Vampire with up to ~180kb/s.

The libcryptossh.library was built using my new simple library approach

https://franke.ms/amiga/so.wiki

amigassh V1.16

amigassh V1.15

amigassh V1.14

amigassh V1.13

This increases the chance to establish a connection on slow Amigas

* creating a key pair is down to 43,2s!

* verifying the host is down to 2:14,6!

amigassh V1.12

amigassh V1.11

Now 16 bit integers are sufficient!

amigassh V1.10

amigassh V1.9

Necessary since too many stuff checks for the string `xterm`...

amigassh V1.8

CTRL+C is handled only by the host

amigassh V1.7

amigassh V1.6

amigassh V1.5

amigassh V1.4

amigassh V1.3

amigassh V1.2

amigassh V1.1

amigassh V1.0

===============================================================================

SYNOPSIS

amigassh [-p port] [user at ]host[:port]

The port defaults to 22.

The user is read from the environment variable `USER`.

===============================================================================

DESCRIPTION

amigassh is an implementation of SSH2. The supported cryptographic methods are

Only password based authentication is supported for now.

Install the terminfo `xterm-amiga` on the remote system!

Feel free to improve it!

On many systems you have to copy it as root into `/usr/share/terminfo/x`

Pimp your `.bash_profile` to unset `LANG` since the Amiga doesn't like UTF8...

A convenient way is to add this to `.bash_profile`:

```

if [ "$TERM" == "xterm-amiga" ]; then

unset LANG

fi

```

===============================================================================

RANDOM HINTS

It's rand() pimped with time and vpos. Then SHA256 is applied. Good enough?

But who would talk about security on an unprotected system like the Amiga?

set USER=<yourname>

you can do this in `s:shell-startup`

Use the icon tooltypes to set

COMMAND a remote command to execute instead of a shell

CONSOLE an Amiga console string (defaults to CON://///AUTO/CLOSE/WAIT)

HOST the host name

PORT the port (defaults to 22)

TERM the terminal emulation (defaults to xterm-amiga)

USER the user name

install the `xterm-amiga` terminfo!

install the `xterm-amiga` terminfo!

install the `xterm-amiga` terminfo!

install the `xterm-amiga` terminfo!

use tic and add the switch -s:

tic -s xterm-amiga.src

try pimping the xterm-amiga terminfo.

use `tic -xsv9 -o. xterm-amiga.src`

unset the variable `LANG`

ensure you are using the sftp subsystem, on some systems it's the `-s` flag

`scp -s ...`

exist?

e.g.: list foobar:

Get https://aminet.net/util/boot/Requester.lha and run "Cancel 5" from your

startup-sequence!

Check the file ENVARC:.ssh/authorized_keys if your public key is listed there.

add your user name to avoid detection as a local assign/drive:

myname at ram:folder

Contents of comm/net/amigassh.lha

PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Aug 12 10:16 amigassh/
-rw-r--r--  1000/1000     2857    7169  39.9% -lh5- dded Aug 12 10:16 amigassh/COPYING
-rwxr-xr-x  1000/1000    20999   38596  54.4% -lh5- 00aa Aug 12 10:16 amigassh/amigascp
-rwxr-xr-x  1000/1000    15564   26324  59.1% -lh5- 4bc1 Aug 12 10:16 amigassh/amigassh
-rw-r--r--  1000/1000      455     906  50.2% -lh5- 5a43 Aug 12 10:16 amigassh/amigassh.info
-rw-r--r--  1000/1000     5403   12763  42.3% -lh5- 0df8 Aug 12 10:16 amigassh/amigassh.readme
-rwxr-xr-x  1000/1000    28101   54052  52.0% -lh5- bf78 Aug 12 10:16 amigassh/amigasshd
-rwxr-xr-x  1000/1000     3789    5988  63.3% -lh5- a586 Aug 12 10:16 amigassh/amigasshkeygen
-rwxr-xr-x  1000/1000    25255   39304  64.3% -lh5- 9ee0 Aug 12 10:16 amigassh/libcryptossh.library
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Aug 12 10:16 amigassh/template/
-rw-r--r--  1000/1000       32      32 100.0% -lh0- e79e Aug 12 10:16 amigassh/template/passwd
-rw-r--r--  1000/1000      290     447  64.9% -lh5- ae49 Aug 12 10:16 amigassh/template/sshd_config
-rw-r--r--  1000/1000      587    1433  41.0% -lh5- 8c0d Aug 12 10:16 amigassh/xterm-amiga
-rw-r--r--  1000/1000      717    1398  51.3% -lh5- 3bfa Aug 12 10:16 amigassh/xterm-amiga.src
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total        14 files  104049  188412  55.2%            Aug 13 01:25

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminet aminet net>