【发布时间】:2020-07-06 02:55:30
【问题描述】:
我可以通过命令行仅使用私钥登录服务器。为什么这个 PHP 函数也需要公钥?
$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>';
我正在编写个人使用测试脚本,以在调整和部署新服务器时检查防火墙设置和访问权限。我主要只是好奇,因为这似乎表明我缺少一些关于 ssh 如何工作的信息。但我也很恼火,因为我必须提供两条路径,而我似乎只需要一条路径。
【问题讨论】: