在ssh2_connect中使用客户端到服务器MAC算法hmac-sha2-256

时间:2018-04-19 09:29:01

标签: php ssh sftp

我尝试连接到我的SFTP服务器(prosftpd)但是当我检查其日志时,我发现:

  

2018-04-19 11:00:48,303 mod_sftp / 0.9.9 [18488]:找不到共享的客户端到服务器MAC算法(客户端发送' hmac-sha1,hmac-sha1-96,hmac -md5,hmac-md5-96,hmac-ripemd160,hmac-ripemd160 @ openssh.com',服务器发送' hmac-sha2-256,hmac-sha2-512,umac-64 @ openssh.com&# 39)

我尝试使用"方法"参数:

ssh2_connect("my-sftp-server.com", 443, array(
    "client_to_server" => array(
      "mac" => 'hmac-sha2-256,hmac-sha2-512,umac-64@openssh.com'

但它不起作用,似乎方法ssh2_connect不支持此算法,并且在我的日志中我可以看到

  

客户已发送' hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-ripemd160,hmac-ripemd160 @ openssh.com'

有没有办法在我的PHP SFTP客户端上安装新的MAC算法?

1 个答案:

答案 0 :(得分:1)

PHP SSH2 package使用libssh2 library

hmac-sha2-256hmac-sha2-512需要libssh2 version 1.7.0(2016-02-23)或更高版本。不支持umac-64@openssh.com

或者,您可以使用自phpseclib(2014-09-12)以来支持hmac-sha2-256的{​​{3}}。不支持hmac-sha2-512,也不支持umac-64@openssh.com