Essentiellement, WordPress doit se reconnecter au serveur sur lequel il s'exécute réellement.
Il existe plusieurs façons d'utiliser WordPress pour écrire des fichiers et ainsi se "remplacer" lui-même lors d'une mise à niveau. Du point de vue de la sécurité, la partie importante de ce processus est que les nouveaux fichiers doivent avoir la même propriété que les anciens fichiers.
Ainsi, WordPress effectue d'abord un test en écrivant un fichier directement et en vérifiant qui est le propriétaire résultant. Si le propriétaire fait correspondre les fichiers PHP, il sait qu'il peut écrire des fichiers avec la propriété correcte (cela signifie que le processus est "paramétré" pour le propriétaire du fichier).
Si le fichier résultant appartient à un autre utilisateur (ce qui est probable si Apache / PHP s'exécute en tant qu'utilisateur différent, comme l'utilisateur "www" ou "apache"), alors WordPress doit utiliser une méthode différente pour créer des fichiers avec le bon propriétaire.
Une approche est simple FTP. S'il rétablit une connexion FTP sur le serveur sur lequel il se trouve, puis écrit des fichiers dessus, les fichiers résultants seront la propriété de celui qui se connectera en tant que FTP. Ainsi, il invite l'utilisateur à fournir des informations FTP.
Mais FTP n'est pas très sécurisé. Donc, comme vous l'avez trouvé, une autre méthode est via SSH2. En utilisant la bibliothèque SSH pour PHP, il peut établir une connexion SSH avec le serveur de la même manière. Et c'est pourquoi il a besoin d'une clé privée, car il l'utilise pour rétablir une connexion sortante. En établissant cette connexion, il peut définir des informations d'identification et écrire des fichiers en tant qu'utilisateur disposant de ces informations.
Si vous souhaitez que ces clés soient présentes, générez un nouvel ensemble de clés et utilisez-les exclusivement à cette fin.
Pour répondre à votre question directe, non, WordPress ne "donne" les clés nulle part. Il télécharge le package de mise à niveau, le décompresse, puis utilise ces clés pour établir une connexion avec son propre serveur (bouclage, essentiellement), puis copie les fichiers via cette connexion. Ce faisant, les informations d'identification signifient que les fichiers obtiennent la propriété correcte et évitent les problèmes de sécurité liés à la possession des fichiers WordPress par le processus Apache / www / php principal.