Git 推送 PHP 和主机密钥验证失败


git push php and host key verification failed

$commitMessage = 'Auto commit from admin panel '.date('d.m.Y H:i:s', time());
chdir(__DIR__.'/../../../..');
$res[] = shell_exec('git add --all 2>&1');
$res[] = shell_exec('git commit -a -m "'.$commitMessage.'" 2>&1');
$res[] = shell_exec('git push origin master 2>&1');
$res[] = shell_exec('git status 2>&1');

git push 命令后的输出:主机密钥验证失败。致命:无法从远程存储库读取。请确保您具有正确的访问权限并且存储库存在。

但在我运行以下命令之前:

sudo -u www-data ssh-keygen -t rsa
sudo chown www-data:www-data -R ~/.ssh/known_hosts
sudo chown www-data:www-data -R /project

(在哪里找到 .git 目录(

在我将 ssh 密钥添加到位桶 ssh 密钥(不用于部署(之后。

此错误

意味着您要连接到的域的主机密钥(我假设位桶,来自您的评论(已更改。不同的是他们的钥匙,而不是你的。

我会检查他们最近是否更改了主机密钥,如果有,您可以使用

$ ssh-keygen -R bitbucket.org

但要小心,未知的主机密钥可能意味着中间人攻击。因此,在执行此操作之前,请确保它确实是 bitbucket 的密钥。