diff --git a/ci-tools/update-grid-servers b/ci-tools/update-grid-servers index acbacea63210d1d346c0ee8f71c3e1da34370d84..c5206fd481096cc8eddb2a2c313cff7d92fe2db6 100755 --- a/ci-tools/update-grid-servers +++ b/ci-tools/update-grid-servers @@ -101,6 +101,11 @@ decode_deploy_key() { # Decode the contents of the encoded key path into a decoded key path. base64 --decode "${encoded_key_path}" > "${decoded_key_path}" + # If OpenSSH doesn't find a newline after the last line of the key + # material then it fails to parse it. So, make sure there is one. If + # there was already one, it's fine to have an extra. + echo >> "${decoded_key_path}" + # Remove the key from the filesystem to reduce the chance of unintentional # disclosure. Overall our handling of this key is still not *particulary* # safe or secure but that's why the key is only authorized to perform a