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

  1. Provide a valid OpenSSH public key
  2. Check for truncated or malformed key material in the spec
  3. 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.