kubernetes/kops · error
error computing key fingerprint for SSH key: %v
Error message
error computing key fingerprint for SSH key: %v
What it means
Wraps pki.ComputeAWSKeyFingerprint failure in Normalize: the SSH public key was read but is not a parseable public key, so its MD5-style fingerprint cannot be computed for use as the DO key identifier.
Source
Thrown at upup/pkg/fi/cloudup/dotasks/sshkey.go:108
e.KeyFingerprint = actual.KeyFingerprint
}
// We aren't allowed two keys with the same fingerprint but different names...
e.Name = actual.Name
return actual, nil
}
func (e *SSHKey) Normalize(c *fi.CloudupContext) error {
if e.KeyFingerprint == nil && e.PublicKey != nil {
publicKey, err := fi.ResourceAsString(e.PublicKey)
if err != nil {
return fmt.Errorf("error reading SSH public key: %v", err)
}
keyFingerprint, err := pki.ComputeAWSKeyFingerprint(publicKey)
if err != nil {
return fmt.Errorf("error computing key fingerprint for SSH key: %v", err)
}
klog.V(2).Infof("Computed SSH key fingerprint as %q", keyFingerprint)
e.KeyFingerprint = &keyFingerprint
}
return nil
}
func (e *SSHKey) Run(c *fi.CloudupContext) error {
return fi.CloudupDefaultDeltaRunMethod(e, c)
}
func (s *SSHKey) CheckChanges(a, e, changes *SSHKey) error {
if a != nil {
if changes.Name != nil {
return fi.CannotChangeField("Name")
}
}View on GitHub (pinned to 4c8573c808)
Solutions
- Provide a valid OpenSSH public key
- Check for truncated or malformed key material in the spec
- Re-run after correcting the key
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/dotasks/sshkey.go:108 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/05cd2933fa3b2f82.
Report an issue: GitHub.