Я могу войти на сервер, используя только закрытый ключ через командную строку. Почему для этой функции PHP также требуется ключ publi c?
$connection = ssh2_connect($server_address, $port, array('hostkey'=>'ssh-rsa'));
if (!@ssh2_auth_pubkey_file($connection, $username, $public_key_path, $private_key_path, $password))
{
echo '<h3 class="error">Unable to authenticate. Check ssh key pair.</h3>';
break;
}
echo '<h3 class="success">Authenticated.</h3>';
Я работаю над тестовым сценарием для личного использования, чтобы проверять настройки брандмауэра и права доступа при настройке и развертывании новых серверов. Мне в основном просто любопытно, поскольку это, кажется, указывает на то, что мне не хватает информации о том, как работает s sh. Но меня также раздражает, что я должен указывать два пути, когда кажется, что мне нужен только один.