No match for method server host key algo
clay584 opened this issue · 2 comments
When trying to connect to an embedded device running dropbear sshd, I get a host key algo error.
Here is my ssh config file at ~/.ssh/config
Host satellite-payload1
HostName 192.168.102.3
User root
IdentityFile ~/.ssh/petalinux_dev
KexAlgorithms +ssh-rsa
HostKeyAlgorithms +ssh-rsa
Expected behavior:
mscp should respect the ssh config file and use the additional hostkey and kex algorithms and connect.
Actual behavior:
Fails to negotiate ssh algos
mscp -F .ssh/config 100MBfile satellite-payload1:/run/media/mmcblk0p1/
mscp_connect: [ssh.c:185:ssh_init_session] failed to connect ssh server: kex error : no match for method server host key algo: server [ssh-rsa], client [ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256]
mscp uses libssh, which parses and applies ssh_config.
+ALGO
notation in ssh_config is supported by this commit in libssh, but it is not included in the libssh stable-0.10 branch, which mscp is based on. I'm not sure why the commit hasn't been included, but as a result, +ssh-rsa
is not supported at the moment.
Instead, HostKeyAlgorithms ssh-rsa
will work as intended.
The next release of libssh will include the commit, so a future version of mscp adopting it will (automatically) accept the +ALGO notation.