具有公钥身份验证的RobotFramework SSHLibrary AttributeError

具有公钥身份验证的RobotFramework SSHLibrary AttributeError,robotframework,Robotframework,我正在尝试使用Robotframework SSHLibrary连接到linux CentOS服务器 但是,我有个错误属性错误:原始 我正在尝试使用公钥进行身份验证。下面是Robotframework代码和屏幕截图以及ssh的调试日志 机器人框架代码 *** Settings *** Library SSHLibrary *** Keywords *** Connect to SSH Open Connection ${ipServer} ${ou

我正在尝试使用Robotframework SSHLibrary连接到linux CentOS服务器

但是,我有个错误<代码>属性错误:原始

我正在尝试使用公钥进行身份验证。下面是Robotframework代码和屏幕截图以及ssh的调试日志

机器人框架代码

*** Settings ***
Library    SSHLibrary    

*** Keywords ***
Connect to SSH

    Open Connection    ${ipServer}    
    ${output} =    Login With Public Key    ${username}    ${publicKeyFile}     
    Should Contain  ${output}   Last login at 
    Log    ${output}
SSH调试日志

> /usr/sbin/sshd -d -p 22 
> debug1: sshd version OpenSSH_7.4, OpenSSL
> 1.0.2k-fips  26 Jan 2017 debug1: private host key #0: ssh-rsa SHA256:KQzAdsluR6UNzkc1OFUIMoXGvovgsIXNwLSVPc8fnec debug1: private
> host key #1: ecdsa-sha2-nistp256
> SHA256:IPsIS6YeMse5AhkrSL/hpbCLwLJaZL6P3Jae/0/4ndo debug1: private
> host key #2: ssh-ed25519
> SHA256:lROO9MgwSVKargW43Q6umRrXxLuIjgCmlw+K1D/BJrI debug1:
> rexec_argv[0]='/usr/sbin/sshd' debug1: rexec_argv[1]='-d' debug1:
> rexec_argv[2]='-p' debug1: rexec_argv[3]='22' debug1: Set
> /proc/self/oom_score_adj from 0 to -1000 debug1: Bind to port 22 on
> 0.0.0.0. Server listening on 0.0.0.0 port 22. debug1: Bind to port 22 on ::. Server listening on :: port 22. debug1: Server will not fork
> when running in debugging mode. debug1: rexec start in 5 out 5 newsock
> 5 pipe -1 sock 8 debug1: inetd sockets after dupping: 3, 3 Connection
> from 172.16.172.1 port 58668 on 172.16.172.131 port 22 debug1: Client
> protocol version 2.0; client software version paramiko_2.6.0 debug1:
> no match: paramiko_2.6.0 debug1: Local version string
> SSH-2.0-OpenSSH_7.4 debug1: Enabling compatibility mode for protocol
> 2.0 debug1: SELinux support enabled [preauth] debug1: permanently_set_uid: 74/74 [preauth] debug1: list_hostkey_types:
> ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
> [preauth] debug1: SSH2_MSG_KEXINIT sent [preauth] debug1:
> SSH2_MSG_KEXINIT received [preauth] debug1: kex: algorithm:
> curve25519-sha256@libssh.org [preauth] debug1: kex: host key
> algorithm: ssh-ed25519 [preauth] debug1: kex: client->server cipher:
> aes128-ctr MAC: hmac-sha2-256 compression: none [preauth] debug1: kex:
> server->client cipher: aes128-ctr MAC: hmac-sha2-256 compression: none
> [preauth] debug1: kex: curve25519-sha256@libssh.org need=32 dh_need=32
> [preauth] debug1: kex: curve25519-sha256@libssh.org need=32 dh_need=32
> [preauth] debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
> Connection closed by 172.16.172.1 port 58668 [preauth] debug1:
> do_cleanup [preauth] debug1: monitor_read_log: child log fd closed
> debug1: do_cleanup debug1: Killing privsep child 7800

检查这个,谷歌发现了类似的问题-。错误来自paramiko中的某个地方&它的支持库(这是RF的one使用的底层pythonsh客户端库)。您遇到了版本不兼容问题。@Todormanakov我希望知道您是如何找到这个答案的。我永远也找不到它。升级加密解决了这个问题。这应该是一个答案。谢谢你这么做;作为参考,我刚刚搜索了“pythonsh”“AttributeError:Raw”“@Todormanakov是的。第一次击中谷歌。我将尝试在关键字组上使用引号来记忆,就像以前一样。还有,你知道为什么FOR loop只会像这个家伙一样点击列表中的第一个主机吗?我只能让executecommad为列表中的第一台主机工作,然后测试套件关闭检查这一点,谷歌发现了类似的问题-。错误来自paramiko中的某个地方&它的支持库(这是RF的one使用的底层pythonsh客户端库)。您遇到了版本不兼容问题。@Todormanakov我希望知道您是如何找到这个答案的。我永远也找不到它。升级加密解决了这个问题。这应该是一个答案。谢谢你这么做;作为参考,我刚刚搜索了“pythonsh”“AttributeError:Raw”“@Todormanakov是的。第一次击中谷歌。我将尝试在关键字组上使用引号来记忆,就像以前一样。还有,你知道为什么FOR loop只会像这个家伙一样点击列表中的第一个主机吗?我只能让executecommad为列表中的第一台主机工作,然后测试套件关闭