Beg Report: ED25519 SSH Private Keys human-readable value differs from json value
in troubleshooting with the ansible community, we have discovered that ED25519 SSH Keys generated by 1Password have an incorrect value in the private key value field when using "--format json" flag. however "--format human-readable" returns the correct key.
the ansible community.general.onepassword lookup plugin relies on the json output to parse values. We need the top level value field in the Json Response from op cli to match that of the ssh_formats['openssh']['value'] field on the json response.
for example:
{
"id": "private_key",
"type": "SSHKEY",
"label": "private key",
"value": "-----BEGIN PRIVATE KEY-----\r\nreally_short_invalid_ssh_key==\r\n-----END PRIVATE KEY-----\r\n",
"reference": "op://SSH Keys/my_test_key/private key",
"ssh_formats": {
"openssh": {
"reference": "op://SSH Keys/my_test_key/private key?ssh-format=openssh",
"value": "-----BEGIN OPENSSH PRIVATE KEY-----\r\nmy_valid_ssh_key\r\n-----END OPENSSH PRIVATE KEY-----\r\n"
}
}
}
BEGIN/END PRIVATE KEY are for RSA Keys only, but ED25519 use the BEGIN/END OPENSSH PRIVATE KEY
The corresponding Public Keys will only work with the value currently stored in ssh_formats['openssh']['value'] and will fail to authenticate using the Key in value field.
We need this fixed!
1Password Version: cli 2.21.0
Extension Version: Not Provided
OS Version: Windows 10/Debian 12
Browser: Not Provided