Essencialmente, o WordPress precisa se conectar novamente ao servidor em que ele está sendo executado.
Existem várias maneiras possíveis de usar o WordPress para gravar arquivos e, assim, "sobrescrever" a si mesmo durante uma atualização. Do ponto de vista da segurança, a parte importante desse processo é que os novos arquivos devem ter a mesma propriedade dos arquivos antigos.
Portanto, o WordPress realiza um teste primeiro escrevendo um arquivo diretamente e verificando quem é o proprietário resultante. Se o proprietário corresponder aos arquivos PHP, ele saberá que pode gravar arquivos com a propriedade correta (isso significa que o processo é "setuid" para o proprietário do arquivo).
Se o arquivo resultante for de propriedade de um ID de usuário diferente (o que provavelmente ocorre se o Apache / PHP estiver sendo executado como um usuário diferente, como o usuário "www" ou "apache"), o WordPress precisará usar um método diferente para criar arquivos com o proprietário correto.
Uma abordagem é o FTP simples. Se ele fizer uma conexão FTP de volta ao servidor em que está ligado e gravar os arquivos, os arquivos resultantes serão de propriedade de quem fizer login como FTP. Portanto, solicita ao usuário informações sobre FTP.
Mas o FTP não é muito seguro. Então, como você encontrou, outro método é via SSH2. Usando a biblioteca SSH para PHP, ele pode fazer uma conexão SSH de volta ao servidor da mesma maneira. E que é por isso que ele precisa de uma chave privada, porque ele está usando isso para fazer uma volta conexão de saída para si. Ao fazer essa conexão, ele pode definir credenciais e gravar arquivos como o usuário que possui essas credenciais.
Se você estiver preocupado com o fato de ter essas chaves, gere um novo conjunto de chaves e use-as exclusivamente para esse fim.
Para responder à sua pergunta direta, não, o WordPress não "fornece" as chaves em nenhum lugar. Ele baixa o pacote de atualização, descompacta e depois usa essas chaves para fazer uma conexão de volta ao seu próprio servidor (loopback, basicamente) e, em seguida, copia os arquivos nessa conexão. Ao fazer isso, as credenciais significam que os arquivos obtêm a propriedade correta e evitam os problemas de segurança de ter os arquivos do WordPress de propriedade do processo principal do Apache / www / php.