opnsense-src/tools/build
Ed Maste e9a994639b ssh: enable FIDO/U2F keys
Description of FIDO/U2F support (from OpenSSH 8.2 release notes,
https://www.openssh.com/txt/release-8.2):

  This release adds support for FIDO/U2F hardware authenticators to
  OpenSSH. U2F/FIDO are open standards for inexpensive two-factor
  authentication hardware that are widely used for website
  authentication.  In OpenSSH FIDO devices are supported by new public
  key types "ecdsa-sk" and "ed25519-sk", along with corresponding
  certificate types.

  ssh-keygen(1) may be used to generate a FIDO token-backed key, after
  which they may be used much like any other key type supported by
  OpenSSH, so long as the hardware token is attached when the keys are
  used. FIDO tokens also generally require the user explicitly
  authorise operations by touching or tapping them.

  Generating a FIDO key requires the token be attached, and will
  usually require the user tap the token to confirm the operation:

    $ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
    Generating public/private ecdsa-sk key pair.
    You may need to touch your security key to authorize key generation.
    Enter file in which to save the key (/home/djm/.ssh/id_ecdsa_sk):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/djm/.ssh/id_ecdsa_sk
    Your public key has been saved in /home/djm/.ssh/id_ecdsa_sk.pub

  This will yield a public and private key-pair. The private key file
  should be useless to an attacker who does not have access to the
  physical token. After generation, this key may be used like any
  other supported key in OpenSSH and may be listed in authorized_keys,
  added to ssh-agent(1), etc. The only additional stipulation is that
  the FIDO token that the key belongs to must be attached when the key
  is used.

To enable FIDO/U2F support, this change regenerates ssh_namespace.h,
adds ssh-sk-helper, and sets ENABLE_SK_INTERNAL (unless building
WITHOUT_USB).

devd integration is not included in this change, and is under
investigation for the base system.  In the interim the security/u2f-devd
port can be installed to provide appropriate devd rules.

Reviewed by:	delphij, kevans
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D32509
2021-11-04 13:01:44 -04:00
..
bootstrap-m4 tools/build/bootstrap-m4: regenerate after d37f81e35b 2021-04-21 10:57:51 +01:00
cross-build cross-build: fix some redeclaration warnings during bootstrap 2021-10-11 11:57:54 +01:00
libc-bootstrap Fix crossbuild bootstrap tools build with Clang 12 2021-02-17 09:54:59 +00:00
make_check Don't stop other legs of a parallel build due to a failure in make_check. 2014-08-20 00:33:37 +00:00
mk ssh: enable FIDO/U2F keys 2021-11-04 13:01:44 -04:00
options Add descriptions for WITH_ASAN and WITH_UBSAN 2021-11-01 10:48:56 -04:00
beinstall.sh beinstall.sh: Use bectl instead of beadm by default 2020-10-30 09:40:55 +00:00
check-links.sh check-links.sh: treat PIE executable as elf files 2021-09-23 04:49:57 +02:00
depend-cleanup.sh libspl: fix NO_CLEAN build 2021-06-08 17:56:15 -06:00
dummy.c
fcntl.h truncate(1): Fix cross-build CI failure due to missing fspacectl 2021-08-24 17:08:28 +08:00
fspacectl.c Silence unused parameter warnings in fspacectl(2) bootstrap stub 2021-08-28 15:37:43 +02:00
futimens.c build: Add legacy support for futimens() and utimensat(). 2016-06-09 21:57:34 +00:00
make.py Allow bootstrapping llvm-tblgen on macOS and Linux 2021-08-02 14:36:03 +01:00
Makefile Fix cross-building on Linux/aarch64 2021-10-18 11:09:00 -05:00
Makefile.depend META_MODE: Remove DEP_RELDIR from Makefile.depend files. 2015-09-25 19:26:08 +00:00
stat.h build: Add legacy support for futimens() and utimensat(). 2016-06-09 21:57:34 +00:00
stdlib.h Provide reallocarray() in -legacy, if needed, to allow building head on 2015-05-15 22:19:35 +00:00
strings.h Fix buildworld on FreeBSD 10 2018-07-16 11:03:05 +00:00
utimensat.c build: Add legacy support for futimens() and utimensat(). 2016-06-09 21:57:34 +00:00