(PECL ssh2 >= 0.9.0)
ssh2_auth_hostbased_file — Authenticate using a public hostkey
ssh2_auth_hostbased_file ( resource $session , string $username , string $hostname , string $pubkeyfile , string $privkeyfile [, string $passphrase [, string $local_username ]] ) : bool
Authenticate using a public hostkey read from a file.
session
An 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
    © 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
    https://www.php.net/manual/en/function.ssh2-auth-hostbased-file.php