target/ssh.py: add HostKeyAlgorithms option to test commands

After recent updates to the autobuilder tumbleweed workers there are tests where the client and
server fail to agree on a public key algorithm for host authentication:

DEBUG: [Running]$ ssh -l root -o PubkeyAcceptedKeyTypes=+ssh-rsa -o UserKnownHostsFile=/dev/null
    -o StrictHostKeyChecking=no -o LogLevel=VERBOSE 192.168.7.6 export PATH=/usr/sbin:/sbin:/usr/bin:/bin; uname -a
DEBUG: time: 1634578090.4632802, endtime: 1634578390.4592378
DEBUG: Partial data from SSH call: Unable to negotiate with 192.168.7.6 port 22: no matching host key type found. Their offer: ssh-rsa

This appears to be an issue with recent versions of shh.  Add -o HostKeyAlgorithms=+ssh-rsa to
command invocation as suggested at:

http://www.openssh.com/legacy.html

(From OE-Core rev: 5fc4f7896fb7af94cd0eeb6370128c861193a6ea)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Steve Sakoman
2021-10-18 13:17:29 -10:00
committed by Richard Purdie
parent 6307f19fc4
commit a1481f2e9c

View File

@@ -34,6 +34,7 @@ class OESSHTarget(OETarget):
self.timeout = timeout
self.user = user
ssh_options = [
'-o', 'HostKeyAlgorithms=+ssh-rsa',
'-o', 'UserKnownHostsFile=/dev/null',
'-o', 'StrictHostKeyChecking=no',
'-o', 'LogLevel=ERROR'