PHP + SSH How can I fix: “Error: ssh2_connect(): Error starting up SSH connection(-4): Invalid MAC received?”

纵饮孤独 提交于 2020-01-06 19:49:49

问题


Working on a project that was built using ssh2_connect to download files from a server. The production server the project is running on works, but getting ssh2_connect to work on my Mac running OSX 10.8 is proving to be problematic.

The following command:

ssh2_connect("myhost", 22);

Produces the following error:

Error: ssh2_connect(): Error starting up SSH connection(-4): Invalid MAC received

I can connect from the command line, so I know it isn't a system wide SSH issue. Does anyone know how to debug or solve this problem? Thanks in advance and may your children be blessed with large brains and social skills :)

UPDATE: Solution posted below


回答1:


See below link, that explains all the alternatives

http://kvz.io/blog/2007/07/24/make-ssh-connections-with-php/




回答2:


The PHP documentation has an example that provides the 3rd argument. The author of this post http://phing.tigris.org/ds/viewMessage.do?dsForumId=1083&viewType=browseAll&dsMessageId=3022056#messagefocus (Derek Gallo) had the exact same issue, and he was able to point me in the right direction. Thanks Derek. It seems that some distributions require the extra parameters. In the end, I converted my code to use phpseclib as it is a pure PHP solution that doesn't require any special modules.

$methods = array(
  'kex' => 'diffie-hellman-group1-sha1',
  'client_to_server' => array(
    'crypt' => '3des-cbc',
    'comp' => 'none'),
  'server_to_client' => array(
    'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
    'comp' => 'none'));

ssh2_connect("myhost", 22, $methods);


来源:https://stackoverflow.com/questions/14372529/php-ssh-how-can-i-fix-error-ssh2-connect-error-starting-up-ssh-connectio

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!