Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ShellDriver: put_key_file: write keys in chunks of 100 chars #1629

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pmelange
Copy link
Contributor

@pmelange pmelange commented Mar 5, 2025

Because of limits to the number of characters allowed on the command line, break up the writing public ssh keys into 100 character chunks.

Fixes #1627

Because of limits to the number of characters allowed on the command line,
break up the writing public ssh keys into 100 character chunks.

fixes labgrid-project#1627

Signed-off-by: Perry Melange <[email protected]>
@pmelange
Copy link
Contributor Author

pmelange commented Mar 5, 2025

Here is the output from debug to show the results of the change:

INFO         StepLogger:  → ShellDriver._put_ssh_key(keyfile_path='/home/pi/.ssh/id_rsa.pub') 
DEBUG   ShellDriver(mai:   Read Keyline: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCmBrE0aaJb4ZQUPk2bS9LA0zkMZ1wZwDZ5wuERhiENL6h9ptJI7snpnmY8Mic044ibd0smvPRsJr7s3EwpAEl/pcP3of3bCVo0E5bOxr2H3KxRu9EHOH/BAjr/nkZoGzJYbuuNruLRJnCkLdMWkVKa6usmY1Dhl1In2dk0zlHRLsEDqYDRPl5Sx1fjd3qVTmGCSpyX5E8KhhZctjZrIGVd9JxIpwOueOnQPSsBfzN2e/Zhv7EtLILDe9RyZ/emHbTmKtAfolN4YeagIeOTvA4awRv6YpcAFnnRxTmB4j+XljBXuiqzSu7a0ZOntZ5oB7F+uaQlUYQ4O+e2nwkDKrNJMkwzjfVpHDqZPIaxKYIfAzjuncM7i+q4J6Ke9hf8uKXxSDN47YlRi5idB5/eUKdqilfZtvnUeU2B3eAbEqHT2TmAZkUdr3y8jpugbGfw843nV9QVjsVOchttDm1Itir0xF4J5IMS6mB5ib/qmOLXhohFQAUnvqt6tFee3Zd4nMU= pi@testlab02

DEBUG   ShellDriver(mai:   Read Key: {'key': 'AAAAB3NzaC1yc2EAAAADAQABAAABgQCmBrE0aaJb4ZQUPk2bS9LA0zkMZ1wZwDZ5wuERhiENL6h9ptJI7snpnmY8Mic044ibd0smvPRsJr7s3EwpAEl/pcP3of3bCVo0E5bOxr2H3KxRu9EHOH/BAjr/nkZoGzJYbuuNruLRJnCkLdMWkVKa6usmY1Dhl1In2dk0zlHRLsEDqYDRPl5Sx1fjd3qVTmGCSpyX5E8KhhZctjZrIGVd9JxIpwOueOnQPSsBfzN2e/Zhv7EtLILDe9RyZ/emHbTmKtAfolN4YeagIeOTvA4awRv6YpcAFnnRxTmB4j+XljBXuiqzSu7a0ZOntZ5oB7F+uaQlUYQ4O+e2nwkDKrNJMkwzjfVpHDqZPIaxKYIfAzjuncM7i+q4J6Ke9hf8uKXxSDN47YlRi5idB5/eUKdqilfZtvnUeU2B3eAbEqHT2TmAZkUdr3y8jpugbGfw843nV9QVjsVOchttDm1Itir0xF4J5IMS6mB5ib/qmOLXhohFQAUnvqt6tFee3Zd4nMU=', 'comment': 'pi@testlab02'}
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'CCSM''FMEYTQ'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'CCSM''FMEYTQ'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='CCSMFMEYTQ\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'CCSM''FMEYTQ'\r\nCCSMFMEYTQ\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'CCSM''FMEYTQ'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < CCSMFMEYTQ␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'CCSM''FMEYTQ'\r\n", <re.Match object; span=(21, 48), match=b'CCSMFMEYTQ\r\nroot@(none):/… [0.016s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='GWPL''AQFJGB' run 'cat ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 55 bytes: b"MARKER='GWPL''AQFJGB' run 'cat ~/.ssh/authorized_keys'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='GWPLAQFJGB(.*)GWPLAQFJGB\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b"ARKER='GWPL''AQFJGB' run 'cat ~/.ssh/authorized_keys'\r\nGWPLAQFJ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='GWPL''AQFJGB' run 'cat ~/.ssh/authorized_keys'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'G', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 103 bytes: b"Bcat: can't open '/root/.ssh/authorized_keys': No such file or directory\r\nGWPLAQFJGB 1\r\nroot@(none):/# ", timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < GWPLAQFJGBcat: can't open '/root/.ssh/authorized_keys': No such file or directory␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < GWPLAQFJGB 1␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"MARKER='GWPL''AQFJGB' run 'cat ~/.ssh/authorized_keys'\r\n", <re.Match object; span=(56, 168),… [0.054s]
DEBUG   ShellDriver(mai:   Received Data: ["cat: can't open '/root/.ssh/authorized_keys': No such file or directory"]
DEBUG   ShellDriver(mai:   Exitcode trying to read keys: 1, keys: ["cat: can't open '/root/.ssh/authorized_keys': No such file or directory"]
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'YGZC''OMSLOE'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'YGZC''OMSLOE'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='YGZCOMSLOE\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'YGZC''OMSLOE'\r\nYGZCOMSLOE\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'YGZC''OMSLOE'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < YGZCOMSLOE␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'YGZC''OMSLOE'\r\n", <re.Match object; span=(21, 48), match=b'YGZCOMSLOE\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='QLHU''VZOKUB' run 'touch ~/.test'␤␍␤
DEBUG   SerialDriver(ma:   Write 42 bytes: b"MARKER='QLHU''VZOKUB' run 'touch ~/.test'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='QLHUVZOKUB(.*)QLHUVZOKUB\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 52 bytes: b"ARKER='QLHU''VZOKUB' run 'touch ~/.test'\r\nQLHUVZOKUB", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='QLHU''VZOKUB' run 'touch ~/.test'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'Q', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 28 bytes: b'LHUVZOKUB 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < QLHUVZOKUBQLHUVZOKUB 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"MARKER='QLHU''VZOKUB' run 'touch ~/.test'\r\n", <re.Match object; span=(43, 82), match=b'QLHUV… [0.054s]
DEBUG   ShellDriver(mai:   Received Data: []
DEBUG   ShellDriver(mai:   Key not on target, testing for .ssh directory
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'MHTG''MNCEEH'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'MHTG''MNCEEH'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='MHTGMNCEEH\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'MHTG''MNCEEH'\r\nMHTGMNCEEH\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'MHTG''MNCEEH'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < MHTGMNCEEH␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'MHTG''MNCEEH'\r\n", <re.Match object; span=(21, 48), match=b'MHTGMNCEEH\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='AEEL''FVMNFT' run '[ -d ~/.ssh/ ]'␤␍␤
DEBUG   SerialDriver(ma:   Write 43 bytes: b"MARKER='AEEL''FVMNFT' run '[ -d ~/.ssh/ ]'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='AEELFVMNFT(.*)AEELFVMNFT\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 53 bytes: b"ARKER='AEEL''FVMNFT' run '[ -d ~/.ssh/ ]'\r\nAEELFVMNFT", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='AEEL''FVMNFT' run '[ -d ~/.ssh/ ]'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'A', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 28 bytes: b'EELFVMNFT 1\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < AEELFVMNFTAEELFVMNFT 1␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"MARKER='AEEL''FVMNFT' run '[ -d ~/.ssh/ ]'\r\n", <re.Match object; span=(44, 83), match=b'AEEL… [0.054s]
DEBUG   ShellDriver(mai:   Received Data: []
DEBUG   ShellDriver(mai:   ~/.ssh did not exist, creating
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'TKHB''LSLMKZ'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'TKHB''LSLMKZ'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='TKHBLSLMKZ\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'TKHB''LSLMKZ'\r\nTKHBLSLMKZ\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'TKHB''LSLMKZ'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < TKHBLSLMKZ␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'TKHB''LSLMKZ'\r\n", <re.Match object; span=(21, 48), match=b'TKHBLSLMKZ\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='KOXN''OCGQVM' run 'mkdir ~/.ssh/'␤␍␤
DEBUG   SerialDriver(ma:   Write 42 bytes: b"MARKER='KOXN''OCGQVM' run 'mkdir ~/.ssh/'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='KOXNOCGQVM(.*)KOXNOCGQVM\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 52 bytes: b"ARKER='KOXN''OCGQVM' run 'mkdir ~/.ssh/'\r\nKOXNOCGQVM", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='KOXN''OCGQVM' run 'mkdir ~/.ssh/'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'K', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 28 bytes: b'OXNOCGQVM 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < KOXNOCGQVMKOXNOCGQVM 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"MARKER='KOXN''OCGQVM' run 'mkdir ~/.ssh/'\r\n", <re.Match object; span=(43, 82), match=b'KOXNO… [0.054s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'UZNL''BJFUKS'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'UZNL''BJFUKS'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='UZNLBJFUKS\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'UZNL''BJFUKS'\r\nUZNLBJFUKS\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'UZNL''BJFUKS'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < UZNLBJFUKS␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'UZNL''BJFUKS'\r\n", <re.Match object; span=(21, 48), match=b'UZNLBJFUKS\r\nroot@(none):/… [0.015s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='CNXF''OLQKPX' run 'chmod 700 ~/.ssh/'␤␍␤
DEBUG   SerialDriver(ma:   Write 46 bytes: b"MARKER='CNXF''OLQKPX' run 'chmod 700 ~/.ssh/'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='CNXFOLQKPX(.*)CNXFOLQKPX\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 56 bytes: b"ARKER='CNXF''OLQKPX' run 'chmod 700 ~/.ssh/'\r\nCNXFOLQKPX", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='CNXF''OLQKPX' run 'chmod 700 ~/.ssh/'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'C', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 28 bytes: b'NXFOLQKPX 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < CNXFOLQKPXCNXFOLQKPX 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"MARKER='CNXF''OLQKPX' run 'chmod 700 ~/.ssh/'\r\n", <re.Match object; span=(47, 86), match=b'C… [0.057s]
DEBUG   ShellDriver(mai:   Received Data: []
DEBUG   ShellDriver(mai:   Creating ~/.ssh/authorized_keys
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'UCYU''MTNHVY'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'UCYU''MTNHVY'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='UCYUMTNHVY\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'UCYU''MTNHVY'\r\nUCYUMTNHVY\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'UCYU''MTNHVY'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < UCYUMTNHVY␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'UCYU''MTNHVY'\r\n", <re.Match object; span=(21, 48), match=b'UCYUMTNHVY\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='UZNG''WLUSTJ' run 'touch ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 57 bytes: b"MARKER='UZNG''WLUSTJ' run 'touch ~/.ssh/authorized_keys'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='UZNGWLUSTJ(.*)UZNGWLUSTJ\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b"ARKER='UZNG''WLUSTJ' run 'touch ~/.ssh/authorized_keys'\r\nUZNGWL", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='UZNG''WLUSTJ' run 'touch ~/.ssh/authorized_keys'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'U', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 32 bytes: b'STJUZNGWLUSTJ 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < UZNGWLUSTJUZNGWLUSTJ 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"MARKER='UZNG''WLUSTJ' run 'touch ~/.ssh/authorized_keys'\r\n", <re.Match object; span=(58, 97)… [0.054s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'EFQL''AYUKTJ'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'EFQL''AYUKTJ'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='EFQLAYUKTJ\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'EFQL''AYUKTJ'\r\nEFQLAYUKTJ\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'EFQL''AYUKTJ'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < EFQLAYUKTJ␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'EFQL''AYUKTJ'\r\n", <re.Match object; span=(21, 48), match=b'EFQLAYUKTJ\r\nroot@(none):/… [0.015s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='WVOO''YAVCKV' run 'echo -n "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCmBrE0aaJb4ZQUPk2bS9LA0zkMZ1wZwDZ5wuERhiENL6h9ptJI7snpnmY8Mic0" >> ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 165 bytes: b'MARKER=\'WVOO\'\'YAVCKV\' run \'echo -n "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCmBrE0aaJb4ZQUPk2bS9LA0zkMZ1wZwDZ5wuERhiENL6h9ptJI7snpnmY8Mic0" >> ~/.ssh/authorized_keys\'\n'
INFO         StepLogger:   → SerialDriver.expect(pattern='WVOOYAVCKV(.*)WVOOYAVCKV\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b'ARKER=\'WVOO\'\'YAVCKV\' run \'echo -n "ssh-rsa AAAAB3NzaC1yc2EAAAAD', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 1 bytes: b'A', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 146 bytes: b'\r\r\nQABAAABgQCmBrE0aaJb4ZQUPk2bS9LA0zkMZ1wZwDZ5wuERhiENL6h9ptJI7snpnmY8Mic0" >> ~/.s\r\r\nsh/authorized_keys\'\r\nWVOOYAVCKVWVOOYAVCKV 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='WVOO''YAVCKV' run 'echo -n "ssh-rsa AAAAB3NzaC1yc2EAAAADA␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < QABAAABgQCmBrE0aaJb4ZQUPk2bS9LA0zkMZ1wZwDZ5wuERhiENL6h9ptJI7snpnmY8Mic0" >> ~/.s␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < sh/authorized_keys'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < WVOOYAVCKVWVOOYAVCKV 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b'MARKER=\'WVOO\'\'YAVCKV\' run \'echo -n "ssh-rsa AAAAB3NzaC1yc2EAAAADA\r\r\nQABAAABgQCmBrE0aaJ… [0.057s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'HTLZ''PSFPMG'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'HTLZ''PSFPMG'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='HTLZPSFPMG\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'HTLZ''PSFPMG'\r\nHTLZPSFPMG\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'HTLZ''PSFPMG'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < HTLZPSFPMG␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'HTLZ''PSFPMG'\r\n", <re.Match object; span=(21, 48), match=b'HTLZPSFPMG\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='AQEM''UTCMVL' run 'echo -n "44ibd0smvPRsJr7s3EwpAEl/pcP3of3bCVo0E5bOxr2H3KxRu9EHOH/BAjr/nkZoGzJYbuuNruLRJnCkLdMWkVKa6usmY1Dhl1In" >> ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 165 bytes: b'MARKER=\'AQEM\'\'UTCMVL\' run \'echo -n "44ibd0smvPRsJr7s3EwpAEl/pcP3of3bCVo0E5bOxr2H3KxRu9EHOH/BAjr/nkZoGzJYbuuNruLRJnCkLdMWkVKa6usmY1Dhl1In" >> ~/.ssh/authorized_keys\'\n'
INFO         StepLogger:   → SerialDriver.expect(pattern='AQEMUTCMVL(.*)AQEMUTCMVL\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b'ARKER=\'AQEM\'\'UTCMVL\' run \'echo -n "44ibd0smvPRsJr7s3EwpAEl/pcP3', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 1 bytes: b'o', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 146 bytes: b'\r\r\nf3bCVo0E5bOxr2H3KxRu9EHOH/BAjr/nkZoGzJYbuuNruLRJnCkLdMWkVKa6usmY1Dhl1In" >> ~/.s\r\r\nsh/authorized_keys\'\r\nAQEMUTCMVLAQEMUTCMVL 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='AQEM''UTCMVL' run 'echo -n "44ibd0smvPRsJr7s3EwpAEl/pcP3o␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < f3bCVo0E5bOxr2H3KxRu9EHOH/BAjr/nkZoGzJYbuuNruLRJnCkLdMWkVKa6usmY1Dhl1In" >> ~/.s␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < sh/authorized_keys'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < AQEMUTCMVLAQEMUTCMVL 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b'MARKER=\'AQEM\'\'UTCMVL\' run \'echo -n "44ibd0smvPRsJr7s3EwpAEl/pcP3o\r\r\nf3bCVo0E5bOxr2H3Kx… [0.056s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'PZYP''MBFAOA'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'PZYP''MBFAOA'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='PZYPMBFAOA\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'PZYP''MBFAOA'\r\nPZYPMBFAOA\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'PZYP''MBFAOA'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < PZYPMBFAOA␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'PZYP''MBFAOA'\r\n", <re.Match object; span=(21, 48), match=b'PZYPMBFAOA\r\nroot@(none):/… [0.013s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='YXQE''LZGCYQ' run 'echo -n "2dk0zlHRLsEDqYDRPl5Sx1fjd3qVTmGCSpyX5E8KhhZctjZrIGVd9JxIpwOueOnQPSsBfzN2e/Zhv7EtLILDe9RyZ/emHbTmKtAf" >> ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 165 bytes: b'MARKER=\'YXQE\'\'LZGCYQ\' run \'echo -n "2dk0zlHRLsEDqYDRPl5Sx1fjd3qVTmGCSpyX5E8KhhZctjZrIGVd9JxIpwOueOnQPSsBfzN2e/Zhv7EtLILDe9RyZ/emHbTmKtAf" >> ~/.ssh/authorized_keys\'\n'
INFO         StepLogger:   → SerialDriver.expect(pattern='YXQELZGCYQ(.*)YXQELZGCYQ\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b'ARKER=\'YXQE\'\'LZGCYQ\' run \'echo -n "2dk0zlHRLsEDqYDRPl5Sx1fjd3qV', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 1 bytes: b'T', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 146 bytes: b'\r\r\nmGCSpyX5E8KhhZctjZrIGVd9JxIpwOueOnQPSsBfzN2e/Zhv7EtLILDe9RyZ/emHbTmKtAf" >> ~/.s\r\r\nsh/authorized_keys\'\r\nYXQELZGCYQYXQELZGCYQ 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='YXQE''LZGCYQ' run 'echo -n "2dk0zlHRLsEDqYDRPl5Sx1fjd3qVT␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < mGCSpyX5E8KhhZctjZrIGVd9JxIpwOueOnQPSsBfzN2e/Zhv7EtLILDe9RyZ/emHbTmKtAf" >> ~/.s␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < sh/authorized_keys'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < YXQELZGCYQYXQELZGCYQ 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b'MARKER=\'YXQE\'\'LZGCYQ\' run \'echo -n "2dk0zlHRLsEDqYDRPl5Sx1fjd3qVT\r\r\nmGCSpyX5E8KhhZctjZ… [0.057s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'KKKT''HCSSCL'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'KKKT''HCSSCL'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='KKKTHCSSCL\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'KKKT''HCSSCL'\r\nKKKTHCSSCL\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'KKKT''HCSSCL'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < KKKTHCSSCL␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'KKKT''HCSSCL'\r\n", <re.Match object; span=(21, 48), match=b'KKKTHCSSCL\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='WZAM''TFBLOL' run 'echo -n "olN4YeagIeOTvA4awRv6YpcAFnnRxTmB4j+XljBXuiqzSu7a0ZOntZ5oB7F+uaQlUYQ4O+e2nwkDKrNJMkwzjfVpHDqZPIaxKYIf" >> ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 165 bytes: b'MARKER=\'WZAM\'\'TFBLOL\' run \'echo -n "olN4YeagIeOTvA4awRv6YpcAFnnRxTmB4j+XljBXuiqzSu7a0ZOntZ5oB7F+uaQlUYQ4O+e2nwkDKrNJMkwzjfVpHDqZPIaxKYIf" >> ~/.ssh/authorized_keys\'\n'
INFO         StepLogger:   → SerialDriver.expect(pattern='WZAMTFBLOL(.*)WZAMTFBLOL\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b'ARKER=\'WZAM\'\'TFBLOL\' run \'echo -n "olN4YeagIeOTvA4awRv6YpcAFnnR', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 1 bytes: b'x', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 146 bytes: b'\r\r\nTmB4j+XljBXuiqzSu7a0ZOntZ5oB7F+uaQlUYQ4O+e2nwkDKrNJMkwzjfVpHDqZPIaxKYIf" >> ~/.s\r\r\nsh/authorized_keys\'\r\nWZAMTFBLOLWZAMTFBLOL 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='WZAM''TFBLOL' run 'echo -n "olN4YeagIeOTvA4awRv6YpcAFnnRx␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < TmB4j+XljBXuiqzSu7a0ZOntZ5oB7F+uaQlUYQ4O+e2nwkDKrNJMkwzjfVpHDqZPIaxKYIf" >> ~/.s␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < sh/authorized_keys'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < WZAMTFBLOLWZAMTFBLOL 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b'MARKER=\'WZAM\'\'TFBLOL\' run \'echo -n "olN4YeagIeOTvA4awRv6YpcAFnnRx\r\r\nTmB4j+XljBXuiqzSu7… [0.059s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'NWYH''AEQQWO'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'NWYH''AEQQWO'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='NWYHAEQQWO\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'NWYH''AEQQWO'\r\nNWYHAEQQWO\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'NWYH''AEQQWO'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < NWYHAEQQWO␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'NWYH''AEQQWO'\r\n", <re.Match object; span=(21, 48), match=b'NWYHAEQQWO\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='EOGM''EGUOOS' run 'echo -n "AzjuncM7i+q4J6Ke9hf8uKXxSDN47YlRi5idB5/eUKdqilfZtvnUeU2B3eAbEqHT2TmAZkUdr3y8jpugbGfw843nV9QVjsVOchtt" >> ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 165 bytes: b'MARKER=\'EOGM\'\'EGUOOS\' run \'echo -n "AzjuncM7i+q4J6Ke9hf8uKXxSDN47YlRi5idB5/eUKdqilfZtvnUeU2B3eAbEqHT2TmAZkUdr3y8jpugbGfw843nV9QVjsVOchtt" >> ~/.ssh/authorized_keys\'\n'
INFO         StepLogger:   → SerialDriver.expect(pattern='EOGMEGUOOS(.*)EOGMEGUOOS\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b'ARKER=\'EOGM\'\'EGUOOS\' run \'echo -n "AzjuncM7i+q4J6Ke9hf8uKXxSDN4', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 1 bytes: b'7', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 146 bytes: b'\r\r\nYlRi5idB5/eUKdqilfZtvnUeU2B3eAbEqHT2TmAZkUdr3y8jpugbGfw843nV9QVjsVOchtt" >> ~/.s\r\r\nsh/authorized_keys\'\r\nEOGMEGUOOSEOGMEGUOOS 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='EOGM''EGUOOS' run 'echo -n "AzjuncM7i+q4J6Ke9hf8uKXxSDN47␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < YlRi5idB5/eUKdqilfZtvnUeU2B3eAbEqHT2TmAZkUdr3y8jpugbGfw843nV9QVjsVOchtt" >> ~/.s␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < sh/authorized_keys'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < EOGMEGUOOSEOGMEGUOOS 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b'MARKER=\'EOGM\'\'EGUOOS\' run \'echo -n "AzjuncM7i+q4J6Ke9hf8uKXxSDN47\r\r\nYlRi5idB5/eUKdqilf… [0.059s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'QOBK''AQEMZF'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'QOBK''AQEMZF'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='QOBKAQEMZF\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'QOBK''AQEMZF'\r\nQOBKAQEMZF\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'QOBK''AQEMZF'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < QOBKAQEMZF␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'QOBK''AQEMZF'\r\n", <re.Match object; span=(21, 48), match=b'QOBKAQEMZF\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='ZGJC''KOHYNZ' run 'echo -n "Dm1Itir0xF4J5IMS6mB5ib/qmOLXhohFQAUnvqt6tFee3Zd4nMU= pi@testlab02␤" >> ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 131 bytes: b'MARKER=\'ZGJC\'\'KOHYNZ\' run \'echo -n "Dm1Itir0xF4J5IMS6mB5ib/qmOLXhohFQAUnvqt6tFee3Zd4nMU= pi@testlab02\n" >> ~/.ssh/authorized_keys\'\n'
INFO         StepLogger:   → SerialDriver.expect(pattern='ZGJCKOHYNZ(.*)ZGJCKOHYNZ\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b'ARKER=\'ZGJC\'\'KOHYNZ\' run \'echo -n "Dm1Itir0xF4J5IMS6mB5ib/qmOLX', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 1 bytes: b'h', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 112 bytes: b'\r\r\nohFQAUnvqt6tFee3Zd4nMU= pi@testlab02\r\n> " >> ~/.ssh/authorized_keys\'\r\nZGJCKOHYNZZGJCKOHYNZ 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='ZGJC''KOHYNZ' run 'echo -n "Dm1Itir0xF4J5IMS6mB5ib/qmOLXh␍␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < ohFQAUnvqt6tFee3Zd4nMU= pi@testlab02␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < > " >> ~/.ssh/authorized_keys'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < ZGJCKOHYNZZGJCKOHYNZ 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b'MARKER=\'ZGJC\'\'KOHYNZ\' run \'echo -n "Dm1Itir0xF4J5IMS6mB5ib/qmOLXh\r\r\nohFQAUnvqt6tFee3Zd… [0.056s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'QGAG''UTCYHK'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'QGAG''UTCYHK'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='QGAGUTCYHK\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'QGAG''UTCYHK'\r\nQGAGUTCYHK\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'QGAG''UTCYHK'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < QGAGUTCYHK␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'QGAG''UTCYHK'\r\n", <re.Match object; span=(21, 48), match=b'QGAGUTCYHK\r\nroot@(none):/… [0.015s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='YCCL''KYTBOT' run 'echo "" >> ~/.ssh/authorized_keys'␤␍␤
DEBUG   SerialDriver(ma:   Write 62 bytes: b'MARKER=\'YCCL\'\'KYTBOT\' run \'echo "" >> ~/.ssh/authorized_keys\'\n'
INFO         StepLogger:   → SerialDriver.expect(pattern='YCCLKYTBOT(.*)YCCLKYTBOT\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 63 bytes: b'ARKER=\'YCCL\'\'KYTBOT\' run \'echo "" >> ~/.ssh/authorized_keys\'\r\nY', timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='YCCL''KYTBOT' run 'echo "" >> ~/.ssh/authorized_keys'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'C', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 37 bytes: b'CLKYTBOTYCCLKYTBOT 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < YCCLKYTBOTYCCLKYTBOT 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b'MARKER=\'YCCL\'\'KYTBOT\' run \'echo "" >> ~/.ssh/authorized_keys\'\r\n', <re.Match object; sp… [0.052s]
DEBUG   ShellDriver(mai:   Received Data: []
CONSOLE SerialLogger.ma:   SerialDriver(main) > echo 'NAWM''JBKKNY'␤␍␤
DEBUG   SerialDriver(ma:   Write 20 bytes: b"echo 'NAWM''JBKKNY'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='NAWMJBKKNY\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'e', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 47 bytes: b"cho 'NAWM''JBKKNY'\r\nNAWMJBKKNY\r\nroot@(none):/# ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < echo 'NAWM''JBKKNY'␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < NAWMJBKKNY␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"echo 'NAWM''JBKKNY'\r\n", <re.Match object; span=(21, 48), match=b'NAWMJBKKNY\r\nroot@(none):/… [0.014s]
CONSOLE SerialLogger.ma:   SerialDriver(main) > MARKER='ULJQ''WTTPZJ' run 'rm ~/.test'␤␍␤
DEBUG   SerialDriver(ma:   Write 39 bytes: b"MARKER='ULJQ''WTTPZJ' run 'rm ~/.test'\n"
INFO         StepLogger:   → SerialDriver.expect(pattern='ULJQWTTPZJ(.*)ULJQWTTPZJ\\s+(\\d+)\\s+root@[-\\w()]+:[^ ]+ ') 
DEBUG   SerialDriver(ma:    Read 1 bytes: b'M', timeout 30.00, requested size 1
DEBUG   SerialDriver(ma:    Read 49 bytes: b"ARKER='ULJQ''WTTPZJ' run 'rm ~/.test'\r\nULJQWTTPZJ", timeout 29.99, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < MARKER='ULJQ''WTTPZJ' run 'rm ~/.test'␍␤
DEBUG   SerialDriver(ma:    Read 1 bytes: b'U', timeout 29.99, requested size 1
DEBUG   SerialDriver(ma:    Read 28 bytes: b'LJQWTTPZJ 0\r\nroot@(none):/# ', timeout 29.95, requested size 1
CONSOLE SerialLogger.ma:    SerialDriver(main) < ULJQWTTPZJULJQWTTPZJ 0␍␤
CONSOLE SerialLogger.ma:    SerialDriver(main) < root@(none):/# ␍␤
INFO         StepLogger:   ← SerialDriver.expect() result=(0, b"MARKER='ULJQ''WTTPZJ' run 'rm ~/.test'\r\n", <re.Match object; span=(40, 79), match=b'ULJQWTTP… [0.054s]
DEBUG   ShellDriver(mai:   Received Data: []
INFO         StepLogger:  ← ShellDriver._put_ssh_key() [1.031s]

Copy link

codecov bot commented Mar 5, 2025

Codecov Report

Attention: Patch coverage is 11.11111% with 8 lines in your changes missing coverage. Please review.

Project coverage is 55.7%. Comparing base (2ce9e24) to head (79458b7).

✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
labgrid/driver/shelldriver.py 11.1% 8 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##           master   #1629     +/-   ##
========================================
- Coverage    55.8%   55.7%   -0.1%     
========================================
  Files         170     170             
  Lines       13382   13388      +6     
========================================
+ Hits         7469    7470      +1     
- Misses       5913    5918      +5     
Flag Coverage Δ
3.10 55.7% <11.1%> (-0.1%) ⬇️
3.11 55.7% <11.1%> (-0.1%) ⬇️
3.12 55.7% <11.1%> (-0.1%) ⬇️
3.13 55.7% <11.1%> (-0.1%) ⬇️
3.9 55.8% <11.1%> (-0.1%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ShellDriver: incomplete public key trasferred to DUT
1 participant