(PECL ssh2 >= 0.9.0)
ssh2_auth_hostbased_file — ホスト公開鍵を使用して認証を行う
$session,$username,$hostname,$pubkeyfile,$privkeyfile,$passphrase = ?,$local_username = ?ファイルから読み込まれたホスト公開鍵を使用して認証を行います。
sessionusernamehostnamepubkeyfileprivkeyfilepassphraseprivkeyfile が暗号化されている
(そのはずです) 場合、パスフレーズを渡す必要があります。
local_usernamelocal_username を省略した場合、
username の値を使用します。
例1 ホスト公開鍵を使用した認証
<?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');
}
?>注意: ssh2_auth_hostbased_file() には libssh2 >= 0.7 と PHP/SSH2 >= 0.7 が必要です。