A question about accepted SSH host key algorithms #2953
-
|
When trying to upload a cloud-init snippet I keep running into the error message I have tried changing the key and certificate formats (ecdsa and ed25519) on both server and client. I have tried using just a keyfile+authorized_keys and finally username+password in the provider ssh section but I get the same error regardless. Regular SSH logins works fine with all the above combinations so I believe this to be an issue with the Golang crypto/ssh client which I'm led to understand this module uses. Has anyone else run into this problem and found a solution? My googling has not led me anywhere productive but maybe that is just the current state of web search. :P Software versions:
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
Hey @nakedape69 👋🏼 This isn't a deliberate limit in the provider, but rather a consequence of how the SSH client picks host-key algorithms. The provider sets The error you're seeing means this:
No overlap, therefore the handshake fails. This happens during host-key negotiation, before user auth, which is why changing keys/certs and switching to password didn't help. It can't be reconfigured via env var / config file — and note the provider does not read As for the fix you could either:
|
Beta Was this translation helpful? Give feedback.
Hey @nakedape69 👋🏼
This isn't a deliberate limit in the provider, but rather a consequence of how the SSH client picks host-key algorithms.
The provider sets
HostKeyAlgorithmsfrom the entries it finds for your host in~/.ssh/known_hosts(via the skeema/knownhosts library). It doesn't hardcode a short list.
The error you're seeing means this:
[ecdsa-sha2-nistp384-cert-v01@openssh.com], yourknown_hostshas a@cert-authorityentry for this host with anecdsa-nistp384CA key, so that's the only algorithm the client advertises.ecdsa-sha2-nistp256[-cert], ssh-ed25519[-cert], your Proxmox host key/cert is nistp256/ed25519-based, never nistp384.No overlap, …