I think it's time; RFC 8709 has been a thing for a couple of years now and a bit of gentle pressure is good.
ok djm, but cc openssh@ so others can chime in -d On Sun, 6 Nov 2022, Job Snijders wrote: > Dear all, > > Support for using Ed25519 for server and user authentication was > introduced in 2014. I like the compactness of Ed25519 public keys. > > Perhaps now is a good time to make Ed25519 the default key type when > invoking ssh-keygen(1) without arguments? > > Kind regards, > > Job > > Index: ssh-keygen.1 > =================================================================== > RCS file: /cvs/src/usr.bin/ssh/ssh-keygen.1,v > retrieving revision 1.226 > diff -u -p -r1.226 ssh-keygen.1 > --- ssh-keygen.1 10 Sep 2022 08:50:53 -0000 1.226 > +++ ssh-keygen.1 6 Nov 2022 13:31:19 -0000 > @@ -185,7 +185,7 @@ The type of key to be generated is speci > option. > If invoked without any arguments, > .Nm > -will generate an RSA key. > +will generate an ed25519 key. > .Pp > .Nm > is also used to generate groups for use in Diffie-Hellman group > Index: ssh-keygen.c > =================================================================== > RCS file: /cvs/src/usr.bin/ssh/ssh-keygen.c,v > retrieving revision 1.459 > diff -u -p -r1.459 ssh-keygen.c > --- ssh-keygen.c 11 Aug 2022 01:56:51 -0000 1.459 > +++ ssh-keygen.c 6 Nov 2022 13:31:21 -0000 > @@ -61,12 +61,6 @@ > #include "ssh-pkcs11.h" > #endif > > -#ifdef WITH_OPENSSL > -# define DEFAULT_KEY_TYPE_NAME "rsa" > -#else > -# define DEFAULT_KEY_TYPE_NAME "ed25519" > -#endif > - > /* > * Default number of bits in the RSA, DSA and ECDSA keys. These value can be > * overridden on the command line. > @@ -252,7 +246,7 @@ ask_filename(struct passwd *pw, const ch > char *name = NULL; > > if (key_type_name == NULL) > - name = _PATH_SSH_CLIENT_ID_RSA; > + name = _PATH_SSH_CLIENT_ID_ED25519; > else { > switch (sshkey_type_from_name(key_type_name)) { > case KEY_DSA_CERT: > @@ -3748,7 +3742,7 @@ main(int argc, char **argv) > } > > if (key_type_name == NULL) > - key_type_name = DEFAULT_KEY_TYPE_NAME; > + key_type_name = "ed25519"; > > type = sshkey_type_from_name(key_type_name); > type_bits_valid(type, key_type_name, &bits); > >