array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.ssh2-fingerprint.php', 1 => 'ssh2_fingerprint', ), 'up' => array ( 0 => 'ref.ssh2.php', 1 => 'SSH2 関数', ), 'prev' => array ( 0 => 'function.ssh2-fetch-stream.php', 1 => 'ssh2_fetch_stream', ), 'next' => array ( 0 => 'function.ssh2-forward-accept.php', 1 => 'ssh2_forward_accept', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/ssh2/functions/ssh2-fingerprint.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL ssh2 >= 0.9.0)
ssh2_fingerprint — リモートサーバーのフィンガープリントを処理する
$session
, int $flags
= SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX): stringアクティブなセッションからサーバーホスト鍵のハッシュを返します。
session
ssh2_connect() のコールによって取得した SSH 接続リンク ID。
flags
flags
は
SSH2_FINGERPRINT_MD5
、
SSH2_FINGERPRINT_HEX
で論理和された
SSH2_FINGERPRINT_SHA1
、
SSH2_FINGERPRINT_RAW
のいずれかです。
ホストキーのハッシュを文字列で返します。
例1 既知の値に対するフィンガープリントのチェック
<?php
$known_host = '6F89C2F0A719B30CC38ABDF90755F2E4';
$connection = ssh2_connect('shell.example.com', 22);
$fingerprint = ssh2_fingerprint($connection,
SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);
if ($fingerprint != $known_host) {
die("HOSTKEY MISMATCH!\n" .
"Possible Man-In-The-Middle Attack?");
}
?>