(PECL ssh2 >= 0.9.0)
ssh2_auth_hostbased_file — Authenticate using a public hostkey
$session
   , string $username
   , string $hostname
   , string $pubkeyfile
   , string $privkeyfile
   [, string $passphrase
   [, string $local_username
  ]] )Authenticate using a public hostkey read from a file.
sessionAn SSH connection link identifier, obtained from a call to ssh2_connect().
username
hostname
pubkeyfile
privkeyfile
passphrase
       If privkeyfile is encrypted (which it should
       be), the passphrase must be provided.
      
local_username
       If local_username is omitted, then the value
       for username will be used for it.
      
   Returns TRUE on success or FALSE on failure.
  
Example #1 Authentication using a public hostkey
<?php
$connection = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));
if (ssh2_auth_hostbased_file($connection, 'remoteusername', 'myhost.example.com',
                             '/usr/local/etc/hostkey_rsa.pub',
                             '/usr/local/etc/hostkey_rsa', 'secret',
                             'localusername')) {
  echo "Public Key Hostbased Authentication Successful\n";
} else {
  die('Public Key Hostbased Authentication Failed');
}
?>
Note:
ssh2_auth_hostbased_file() requires libssh2 >= 0.7 and PHP/SSH2 >= 0.7