Windows服务器上的PHP的SSH2跟debian linux服务器以KEY认证的方式通信,用ssh2_auth_hostbased_file()或者ssh2_auth_pubkey_file()来认证连接,一直是页面被重置。我把key和执行shell的命令写成bat来单独运行,一点问题都没有,但用PHP执行bat文件,一直提示Host key verification failed。我的apache换过wampserver的PHP5.3和5.4版本、张宴的APMServ5.2.6,还用原版的也装过,从网上搜这些错误的解决办法来单独更改配置,都是不成功。求救!

解决方案 »

  1.   

    权限?Linux服务器上是用key认证就行了,Windows上还要怎么设置吗?
      

  2.   

    linux服务器上进行key认证开放的端口是60213,而Windows服务器上的apache应该是不需要读取keyfile的,因为我是用PHP直接system()或者exec()写好的bat的,这样的话,keyfile就是相当于通过CLI来执行的,跟直接双击运行bat效果应该是一样的。要说apache读取keyfile的权限,那就应该在linux服务器上设置apache。至于换行符的问题,我的key生成的是固定的文件,换行符会有什么问题呢?