debian-forge-composer/tools/gen-ssh.sh
Achilleas Koutsou 4241f5bb39 tools/gen-ssh: upgrade openssh before generating key
openssl gets installed as a dependency of the osbuild-composer-tests but
it might not update openssh at the same time, which can cause a version
mismatch when running ssh-keygen:

  OpenSSL version mismatch. Built against 30000000, you have 30200010

This is currently happening in CentOS Stream 9 so let's make sure
openssh is up to date before running ssh-keygen.
2024-05-29 00:27:31 +02:00

36 lines
966 B
Bash
Executable file

#!/usr/bin/bash
# Create SSH key
SSH_DATA_DIR="$(mktemp -d)"
SSH_KEY=${SSH_DATA_DIR}/id_rsa
# openssl gets installed as a dependency of the osbuild-composer-tests but it
# might not update openssh at the same time, which can cause a version mismatch
# when running ssh-keygen:
#
# OpenSSL version mismatch. Built against 30000000, you have 30200010
#
# Make sure openssh is up to date before running ssh-keygen
sudo dnf -y upgrade openssh > /dev/null
ssh-keygen -f "${SSH_KEY}" -N "" -q -t rsa-sha2-256 -b 2048
# Change cloud-init/user-data ssh key
key=" - $(cat "${SSH_KEY}".pub)"
# Temporary, will copy user data from cloud-init once
# go test are updated
tee "${SSH_DATA_DIR}"/user-data > /dev/null << EOF
#cloud-config
write_files:
- path: "/etc/smoke-test.txt"
content: "c21va2UtdGVzdAo="
encoding: "b64"
owner: "root:root"
permissions: "0644"
user: redhat
ssh_authorized_keys:
${key}
EOF
# Return temp directory
echo "${SSH_DATA_DIR}"