ECDSA SSH keys are a best practice (rather than RSA keys).
In confd.conf, <serverHostKey>ssh-rsa<serverHostKey> is working fine.
If I change it to <serverHostKey>ssh-ecdsa<serverHostKey>, then I get the following error:
“Internal error: Startup failed; probably due to incorrect installation\n”
Does ConfD support “ssh-ecdsa” ? Is the name(“ssh-ecdsa”) correct ?
If ConfD supports “ssh-ecsda”, how to provide support for both “ssh-rsa” and “ssh-ecdsa” in my cond.conf ?
Small snapshot of my confd.conf:
<ssh>
<algorithms>
<serverHostKey>ssh-rsa</serverHostKey>
<kex>curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group14-sha1</kex>
</algorithms>
</ssh>
The supported algorithms are listed in the confd.conf(5) manual page (also in the confd_cfg.yang module that is the data model for confd.conf) - note that your /confdConfig/ssh/algorithms/kex specifies multiple unsupported algorithms. From the 7.2.0.1 version of the man page:
/confdConfig/ssh/algorithms/serverHostKey (string) []
The supported serverHostKey algorithms (if implemented in
libcrypto) are 'ssh-dss' and 'ssh-rsa', but for any SSH server, it
is limited to those algorithms for which there is a host key
installed in the directory given by
/confdConfig/aaa/sshServerKeyDir.
/confdConfig/ssh/algorithms/kex (string) []
The supported key exchange algorithms (as long as their hash
functions are implemented in libcrypto) are
'diffie-hellman-group-exchange-sha256',
'diffie-hellman-group-exchange-sha1', 'diffie-hellman-group14-sha1'
and 'diffie-hellman-group1-sha1'.
Version 7.2.1 adds diffie-hellman-group18-sha512’ and ‘diffie-hellman-group14-sha256’ for /confdConfig/ssh/algorithms/kex - you need to consult the documentation for your version of ConfD.
We are running on ConfD Basic version 6.3.
Looks from your reply that ConfD 7.2.0.1 supports only “ssh-dss” and “ssh-rsa”. There is no mention of “ssh-ecdsa”. Does that mean “ssh-ecdsa” is not supported ?
Yes, you can in general conclude that if the documentation says “supported foos are x and y”, this means that other foos than x and y are not supported.