โดยพื้นฐานแล้ว WordPress จำเป็นต้องเชื่อมต่อกลับไปยังเซิร์ฟเวอร์ที่ใช้งานจริง
มีหลายวิธีที่เป็นไปได้ WordPress สามารถใช้เพื่อเขียนไฟล์และทำให้ "เขียนทับ" ตัวเองในระหว่างการอัพเกรด จากมุมมองด้านความปลอดภัยส่วนที่สำคัญของกระบวนการนี้คือไฟล์ใหม่จะต้องมีความเป็นเจ้าของเช่นเดียวกับไฟล์เก่า
ดังนั้น WordPress ทำการทดสอบก่อนโดยการเขียนไฟล์โดยตรงและตรวจสอบว่าใครเป็นเจ้าของผล หากเจ้าของตรงกับไฟล์ PHP ก็จะรู้ว่าสามารถเขียนไฟล์ด้วยความเป็นเจ้าของที่ถูกต้อง (ซึ่งหมายความว่ากระบวนการนี้เป็น "setuid" ให้กับเจ้าของไฟล์)
หากไฟล์ผลลัพธ์นั้นเป็นของ ID ผู้ใช้อื่น (ซึ่งน่าจะเป็นไปได้ว่า Apache / PHP กำลังทำงานในฐานะผู้ใช้อื่นเช่นผู้ใช้ "www" หรือ "apache") ดังนั้น WordPress ต้องใช้วิธีการอื่นในการสร้างไฟล์ด้วย เจ้าของที่ถูกต้อง
วิธีการหนึ่งคือ FTP อย่างง่าย หากทำการเชื่อมต่อ FTP กลับไปยังเซิร์ฟเวอร์ที่เปิดอยู่ให้เขียนไฟล์ทับไฟล์นั้นไฟล์ที่ได้จะเป็นของใครก็ตามที่ล็อกอินด้วย FTP ดังนั้นจึงแจ้งให้ผู้ใช้สำหรับข้อมูล FTP
แต่ FTP นั้นไม่ปลอดภัยมาก อย่างที่คุณได้พบวิธีอื่นคือผ่าน SSH2 การใช้ไลบรารี SSH สำหรับ PHP สามารถทำการเชื่อมต่อ SSH กลับไปที่เซิร์ฟเวอร์ในลักษณะเดียวกัน และนั่นคือสาเหตุที่มันต้องการไพรเวตคีย์เพราะใช้เพื่อทำการเชื่อมต่อขาออกกลับไปยังตัวมันเอง โดยทำการเชื่อมต่อนั้นสามารถตั้งค่าข้อมูลประจำตัวและเขียนไฟล์เป็นผู้ใช้ที่มีข้อมูลประจำตัวเหล่านั้น
หากคุณกังวลว่ามันมีคีย์เหล่านั้นให้สร้างชุดคีย์ใหม่และใช้เพื่อจุดประสงค์นี้โดยเฉพาะ
เพื่อตอบคำถามโดยตรงของคุณไม่ใช่ WordPress ไม่ได้ "ให้" กุญแจทุกที่ มันดาวน์โหลดแพ็คเกจการอัพเกรดปลดมันจากนั้นใช้คีย์เหล่านั้นเพื่อทำการเชื่อมต่อกลับไปยังเซิร์ฟเวอร์ของตัวเอง (ลูปแบ็คโดยทั่วไป) แล้วคัดลอกไฟล์ผ่านการเชื่อมต่อนั้น ในการทำเช่นนั้นข้อมูลประจำตัวหมายถึงไฟล์ที่ได้รับความเป็นเจ้าของที่ถูกต้องและหลีกเลี่ยงปัญหาด้านความปลอดภัยของการมีไฟล์ WordPress เป็นเจ้าของโดยกระบวนการ Apache / www / php หลัก