【PHP8.x】CURLOPT_SSH_HOSTKEYFUNCTION定数の使い方
CURLOPT_SSH_HOSTKEYFUNCTION定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
CURLOPT_SSH_HOSTKEYFUNCTION定数は、PHPのcURL拡張機能において、SSH接続時にリモートホストの公開鍵(ホストキー)を検証するためのコールバック関数を設定するために使用される定数です。この定数に設定するコールバック関数は、cURLがSSH接続を確立しようとする際に、対象ホストから提供されたホストキーをどのように扱うかをプログラムで制御するために利用されます。
通常、SSH接続では、既知のホストキーリストに基づいてホストの信頼性を確認しますが、この定数を使用することで、その検証プロセスを開発者が独自にカスタマイズできます。設定されたコールバック関数は、cURLがリモートホストからホストキーを受信するたびに呼び出され、提供されたホストキーが信頼できるものであるかどうかを判断するロジックを実装することが可能です。コールバック関数は、cURLリソース、ホストキー情報などを受け取り、その戻り値によって接続を続行するか、ホストキーを拒否して接続を中止するかをcURLに指示します。これにより、SSH接続のセキュリティを強化し、特定の要件に合わせた厳格なホストキー検証ポリシーを適用することが可能となります。システムエンジニアにとって、安全なSSH通信を実現する上で重要な役割を果たすオプションの一つです。
構文(syntax)
1<?php 2 3$ch = curl_init(); 4 5curl_setopt($ch, CURLOPT_SSH_HOSTKEYFUNCTION, function($easy, $hostname, $key_type, $fingerprint) { 6 // ここでSSHホストキーの検証ロジックを実装し、結果を返します。 7 // 戻り値は CURLSSH_OK, CURLSSH_NO, CURLSSH_KEY_CHANGED, CURLSSH_STOP のいずれかです。 8 return CURLSSH_OK; 9});
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません