[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OpenSSH mit *25519/chacha20*-Crypto (was: Re: [Poll] https nur mit AES?)


On Sat, Dec 07, 2013 at 12:57:44AM +0000, Christian Weisgerber wrote:
> Aber frohe Kunde dem, der keine NIST-Kurven mag. Seit einem Monat
> unterstuetzt OpenSSH Curve25519 als KEX (Standardeinstellung) und
> seit heu^H^H^Hges^H^H^HFreitag Nachmittag nun auch Ed25519 fuer
> Schluessel (optional). 

Ich habe das Thema mal weiter verfolgt als Ergaenzung zu 
20140423231555.GA10813@xxxxxxxxxxxxx  (siehe auch 
http://lists.uugrn.org/uugrn/14/04/16797.html) 

Ich bin weit davon entfernt folgendes als "Referenz" zu bezeichnen,
jedoch habe ich mit diesen Setup eine SSH-Session mit
*25519/chacha20*-Crypto getestet. 

Bitte um Feedback hier auf die Liste, wenn das folgende merwuedig, 
sinnlos, falsch oder umstaendlich erscheint, sonst bleibt es 
unkommentiert im Archiv fuer die Google-Nachwelt erhalten ;-)


Here we go: SSH-Client-Config fuer den Host "shell25519":
----------------------------------------------------------
[rabe@shell ~]$ cat .ssh/config 
Host shell25519
        Hostname shell.uugrn.org
        Port 2222
        Ciphers chacha20-poly1305@xxxxxxxxxxx
        HostKeyAlgorithms ssh-ed25519
        KexAlgorithms curve25519-sha256@xxxxxxxxxx
----------------------------------------------------------

Die dazugehoerige /usr/local/etc/ssh/sshd_config ist weitgehend default,
die einzigen beiden Nichtkommentar-Zeilen sind: 

---------------------------------------------------------
Port 2222
Subsystem       sftp    /usr/local/libexec/sftp-server
---------------------------------------------------------
 
Zugriff testen:

[rabe@shell ~]$ /usr/local/bin/ssh -v shell25519 'figlet -f small -w 200 $SSH_CONNECTION'
OpenSSH_6.6p1-hpn14v2 FreeBSD-openssh-portable-6.6.p1_1,1, OpenSSL 1.0.1g 7 Apr 2014
debug1: Reading configuration data /home/rabe/.ssh/config
debug1: /home/rabe/.ssh/config line 1: Applying options for shell25519
debug1: Reading configuration data /usr/local/etc/ssh/ssh_config
debug1: Hostname has changed; re-reading configuration
debug1: Reading configuration data /home/rabe/.ssh/config
debug1: Reading configuration data /usr/local/etc/ssh/ssh_config
debug1: Connecting to shell.uugrn.org [164.177.171.22] port 2222.
debug1: Connection established.
debug1: identity file /home/rabe/.ssh/id_rsa type -1
debug1: identity file /home/rabe/.ssh/id_rsa-cert type -1
debug1: identity file /home/rabe/.ssh/id_dsa type 2
debug1: identity file /home/rabe/.ssh/id_dsa-cert type -1
debug1: identity file /home/rabe/.ssh/id_ecdsa type -1
debug1: identity file /home/rabe/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/rabe/.ssh/id_ed25519 type 4
debug1: identity file /home/rabe/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6p1-hpn14v2 FreeBSD-openssh-portable-6.6.p1_1,1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6p1-hpn14v2 FreeBSD-openssh-portable-6.6.p1_1,1
debug1: match: OpenSSH_6.6p1-hpn14v2 FreeBSD-openssh-portable-6.6.p1_1,1 pat OpenSSH* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: AUTH STATE IS 0
debug1: REQUESTED ENC.NAME is 'chacha20-poly1305@xxxxxxxxxxx'
debug1: kex: server->client chacha20-poly1305@xxxxxxxxxxx <implicit> none
debug1: REQUESTED ENC.NAME is 'chacha20-poly1305@xxxxxxxxxxx'
debug1: kex: client->server chacha20-poly1305@xxxxxxxxxxx <implicit> none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ED25519 91:2f:62:20:ca:f3:47:bd:25:3c:81:19:bd:df:51:49
DNS lookup error: general failure
debug1: Host '[shell.uugrn.org]:2222' is known and matches the ED25519 host key.
debug1: Found key in /home/rabe/.ssh/known_hosts:21
debug1: ssh_ed25519_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/rabe/.ssh/id_rsa
debug1: Offering DSA public key: /home/rabe/.ssh/id_dsa
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/rabe/.ssh/id_ecdsa
debug1: Offering ED25519 public key: /home/rabe/.ssh/id_ed25519
debug1: Server accepts key: pkalg ssh-ed25519 blen 51
debug1: Authentication succeeded (publickey).
Authenticated to shell.uugrn.org ([164.177.171.22]:2222).
debug1: Final hpn_buffer_size = 2097152
debug1: HPN Disabled: 0, HPN Buffer Size: 2097152
debug1: channel 0: new [client-session]
debug1: Enabled Dynamic Window Scaling
debug1: Requesting no-more-sessions@xxxxxxxxxxx
debug1: Entering interactive session.
debug1: Sending command: figlet -f small -w 200 $SSH_CONNECTION
 _  __ _ _   _ ____ ____ _ ____ _   ___ ___   _ ___ _ _ ____ ___   _  __ _ _   _ ____ ____ _ ____ _   ___ ___   ___ ___ ___ ___ 
/ |/ /| | | / |__  |__  / |__  / | |_  )_  ) / | __| | |__  / _ \ / |/ /| | | / |__  |__  / |__  / | |_  )_  ) |_  )_  )_  )_  )
| / _ \_  _|| | / /  / /| | / /| |_ / / / /  | |__ \_  _|/ /\_, / | / _ \_  _|| | / /  / /| | / /| |_ / / / /   / / / / / / / / 
|_\___/ |_(_)_|/_/  /_(_)_|/_/ |_(_)___/___| |_|___/ |_|/_/  /_/  |_\___/ |_(_)_|/_/  /_(_)_|/_/ |_(_)___/___| /___/___/___/___|
                                                                                                                                
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@xxxxxxxxxxx reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2592, received 2932 bytes, in 0.0 seconds
Bytes per second: sent 416857.2, received 471537.6
debug1: Exit status 0


Ein "alter" ssh-Client verschluckt sich damit uebrigens gehoerig selbst
wenn man auf einen ganz anderen Host zugreifen moechte:

----------------------------------------------------------
[rabe@shell ~]$ /usr/bin/ssh rabe.uugrn.org
/home/rabe/.ssh/config line 4: Bad SSH2 cipher spec 'chacha20-poly1305@xxxxxxxxxxx'.
----------------------------------------------------------

... d.h. das Konstrukt mit ~/.ssh/config eignet sich nur bedingt auf
Systemen, auf denen beide Versionen von OpenSSH parallel installiert
sind. Ich halte es fuer einen Bug, dass der ssh-Client Optionen aus
Host-Bloecken parst, die er fuer die aktuell angefragte Verbindung (hier:
rabe.uugrn.org) gar nicht benoetigt.

Gruss
Raphael

-- 
Raphael Eiselstein <rabe@xxxxxxxxx>               http://rabe.uugrn.org/
PGP (neu):            4E63 5307 6F6A 036D 518D  3C4F 75EE EA14 F625 DB4E
.........|.........|.........|.........|.........|.........|.........|..




-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/