In sostanza, WordPress deve riconnettersi al server su cui è attualmente in esecuzione.
Esistono diversi modi in cui WordPress può utilizzare per scrivere file e quindi "sovrascrivere" se stesso durante un aggiornamento. Dal punto di vista della sicurezza, la parte importante di questo processo è che i nuovi file devono avere la stessa proprietà dei vecchi file.
Quindi, WordPress esegue prima un test scrivendo direttamente un file e controllando chi è il proprietario risultante. Se il proprietario corrisponde ai file PHP, sa che può scrivere file con la proprietà corretta (ciò significa che il processo è "impostato" per il proprietario del file).
Se il file risultante è di proprietà di un diverso ID utente (che è probabile se Apache / PHP è in esecuzione come un altro utente, come l'utente "www" o "apache"), WordPress deve utilizzare un metodo diverso per creare file con il proprietario corretto.
Un approccio è semplice FTP. Se effettua una connessione FTP al server su cui si trova, quindi scrive i file su di esso, i file risultanti saranno di proprietà di chiunque acceda come FTP. Quindi, richiede all'utente informazioni FTP.
Ma FTP non è molto sicuro. Quindi, come hai trovato, un altro metodo è tramite SSH2. Utilizzando la libreria SSH per PHP, è possibile effettuare una connessione SSH al server allo stesso modo. E che è per questo che ha bisogno di una chiave privata, perché si sta usando che per fare un attacco posteriore in uscita a se stesso. Effettuando tale connessione, è possibile impostare credenziali e scrivere file come l'utente che dispone di tali credenziali.
Se sei preoccupato che abbia quelle chiavi, quindi genera un nuovo set di chiavi e usale esclusivamente per questo scopo.
Per rispondere alla tua domanda diretta, no, WordPress non "fornisce" i tasti da nessuna parte. Scarica il pacchetto di aggiornamento, decomprime il pacchetto e quindi utilizza quelle chiavi per ripristinare una connessione al proprio server (in pratica il loopback), quindi copia i file su quella connessione. In tal modo, le credenziali indicano che i file ottengono la proprietà corretta ed evitano i problemi di sicurezza di avere i file WordPress di proprietà del processo principale di Apache / www / php.