From 22ef850cb15f60664d76d031815205336609126a Mon Sep 17 00:00:00 2001 From: Willy Tu Date: Sat, 27 Aug 2022 19:53:37 +0000 Subject: [PATCH] hiba: Add initial recipe for hiba Discussion to install the HIBA Internal OpenSSH to fetch dependencies can be found in https://lists.openembedded.org/g/openembedded-core/topic/94475279#172977 HIBA is a system built on top of regular OpenSSH certificate-based authentication that allows to manage flexible authorization of principals on pools of target hosts without the need to push customized authorized_users files periodically. This recipe allow us to manage SSH to production machines easily and not rely on authorized keys. Tested: This copy of the recipe was used and tested internally to be working properly. Ran the local-setup.sh and works fine on a BMC. ``` $ ssh -F /tmp/tmp.w8itTW/ssh_config -p 2201 root@localhost ##################################################### # setup-local.sh # # Host Identity Based Authorization SSHD example. # ##################################################### prodHost: limited access Connection to localhost closed. $ ssh -F /tmp/tmp.w8itTW/ssh_config -p 2202 root@localhost ##################################################### # setup-local.sh # # Host Identity Based Authorization SSHD example. # ##################################################### Last login: Thu Jan 1 00:47:28 1970 from ::1 ``` Signed-off-by: Willy Tu --- meta-oe/recipes-connectivity/hiba/hiba_git.bb | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 meta-oe/recipes-connectivity/hiba/hiba_git.bb diff --git a/meta-oe/recipes-connectivity/hiba/hiba_git.bb b/meta-oe/recipes-connectivity/hiba/hiba_git.bb new file mode 100644 index 00000000000..06dd4655adc --- /dev/null +++ b/meta-oe/recipes-connectivity/hiba/hiba_git.bb @@ -0,0 +1,40 @@ +SUMMARY = "Google Host Identity Based Authorization" +DESCRIPTION = "HIBA is a system built on top of regular OpenSSH \ + certificate-based authentication that allows to manage flexible \ + authorization of principals on pools of target hosts without the need to \ + push customized authorized_users files periodically." + +S = "${WORKDIR}/git/hiba" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=7e161abe9a4585310725dd86c28d1ae2" + +PV = "0.0.0+git${SRCPV}" + +inherit autotools + +DEPENDS += "openssl zlib" + +SRC_URI = " \ + git://github.com/google/hiba;protocol=https;branch=main;destsuffix=git/hiba;name=hiba \ + git://github.com/openssh/openssh-portable.git;protocol=https;branch=master;destsuffix=git/openssh-portable;name=openssh \ +" +SRCREV_hiba = "84b8c4de84078c7a9d4213c2d9553ad9f66661cc" + +# Internal OpenSSH version for HIBA to link against (the version doesn't have +# to match the actual installed version). +# Discussion in +# https://lists.openembedded.org/g/openembedded-core/topic/94475279#172977 +SRCREV_openssh = "15a01cf15f396f87c6d221c5a6af98331c818962" +SRCREV_FORMAT = "hiba" + +EXTRA_OECONF += " \ + --with-opensshdir=${S}/../openssh-portable \ +" + +autotools_preconfigure:append() { + cd "${S}/../openssh-portable" + autoreconf + ./configure ${CONFIGUREOPTS} + oe_runmake + cd "${S}" +}