牛牛在线工具

ssh2_publickey_add()

收录 8868 个 PHP 函数,含用途说明与用法示例。

ssh2_publickey_add()

添加公钥到已经存在的远程服务器的用户身份验证中

函数名称:ssh2_publickey_add() 适用版本:PHP 5 >= 5.3.0, PECL ssh2 >= 0.11.0 函数说明:ssh2_publickey_add() 函数用于添加公钥到已经存在的远程服务器的用户身份验证中。 语法:bool ssh2_publickey_add(resource $session, string $algoname, string $blob[, bool $overwrite = false[, array $attributes]]) 参数: $session:SSH2会话资源,通过 ssh2_connect() 函数创建。 $algoname:公钥算法名称,例如 "ssh-rsa" 或 "ssh-dss"。 $blob:公钥的二进制格式字符串。 $overwrite(可选):如果设置为 true,则会覆盖已经存在的公钥,默认为 false。 $attributes(可选):关联数组,包含公钥的附加属性。 返回值:成功时返回 true,失败时返回 false。 示例: // 创建 SSH2 会话 $connection = ssh2_connect('example.com', 22); if (!$connection) { die('Unable to connect.'); } // 认证 if (!ssh2_auth_password($connection, 'username', 'password')) { die('Authentication failed.'); } // 添加公钥 $publicKey = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5...'; $added = ssh2_publickey_add($connection, 'ssh-rsa', base64_decode($publicKey)); if ($added) { echo 'Public key added successfully.'; } else { echo 'Failed to add public key.'; } 注意事项: 在使用 ssh2_publickey_add() 函数之前,必须先通过 ssh2_auth_password() 或其他相关函数进行身份验证。 公钥应该以正确的格式和编码传递给函数。在示例中,使用 base64_decode() 函数将公钥从 base64 编码解码为二进制格式。 如果远程服务器已经存在相同的公钥,并且 $overwrite 参数设置为 false(默认值),那么该函数将返回 false,公钥不会被添加到服务器。如果要覆盖已存在的公钥,可以将 $overwrite 参数设置为 true。 公钥的附加属性可以通过 $attributes 参数传递,如果没有附加属性,可以省略该参数。 请确保在执行该函数之前,已经通过安全的方式获取到公钥,以防止安全风险。