Чому для оновлення WordPress потрібен мій приватний ключ ssh?


13

Налаштування WordPress для оновлення в додатку (тобто WordPress) ідеально підходить для мене через його зручність. Тим не менш, мене турбують вимоги. Запитані поля, які з’являються після встановлення ssh2 для php, запитують не лише мій відкритий ключ, але і мій приватний ключ. Я думаю, що, максимум, буде потрібен лише відкритий ключ.

Чи надає WordPress власний приватний ключ на сервер, щоб сервер міг завантажити правильний програмний пакет на мій сервер? Я знайомий з тим, як працюють приватні / відкриті ключі SSH, і тому я плутаюся, чому це потрібно WordPress. Якщо що-небудь, я думаю, що механізм оновлення навіть не потребуватиме цього протоколу; він просто використовувати http або ftp на сервер пакетів, а потім завантажити / встановити / активувати звідти.

Чому для WordPress потрібні мої ключі ssh? Чи є тут питання безпеки?

Відповіді:


11

По суті, WordPress повинен підключитися назад до сервера, де він фактично працює.

Існує кілька можливих способів використання WordPress для запису файлів і, таким чином, "перезапис" під час оновлення. З точки зору безпеки важливою частиною цього процесу є те, що нові файли повинні мати те саме право власності, що і старі файли.

Отже, WordPress спочатку виконує тест, безпосередньо записуючи файл і перевіряючи, хто такий власник. Якщо власник відповідає файлам PHP, то він знає, що може записувати файли з правильним правом власності (це означає, що процес "налаштований" на власника файлу).

Якщо отриманий файл належить іншому ідентифікатору користувача (що, швидше за все, якщо Apache / PHP працює як інший користувач, наприклад, користувач "www" або "apache"), то WordPress повинен використовувати інший метод для створення файлів з правильний власник.

Один із підходів - простий FTP. Якщо це з'єднання FTP повертається до того сервера, на якому він увімкнено, а потім записує файли через нього, одержані файли будуть належати тому, хто входить у систему, як над FTP. Отже, він спонукає користувача до інформації про FTP.

Але FTP не дуже безпечний. Отже, як ви з’ясували, інший метод - через SSH2. Використовуючи бібліотеку SSH для PHP, вона може зробити так само, як SSH-з'єднання назад із сервером. І що саме тому він потрібен закритий ключ, тому що він використовує , що для виконання вихідного з'єднання спини до себе. Здійснюючи це з'єднання, він може встановлювати облікові дані та записувати файли як користувач, який має ці дані.

Якщо ви стурбовані тим, що ці ключі мають, то створіть новий набір ключів і використовуйте ці виключно для цієї мети.

Щоб відповісти на ваше пряме запитання, ні, WordPress нікуди не "дає" ключі. Він завантажує пакет оновлення, розпаковує його, а потім використовує ці клавіші для відновлення з'єднання до власного сервера (в основному зворотний зв'язок), а потім копіює файли через це з'єднання. Таким чином, облікові дані означають, що файли отримують правильне право власності та уникають проблем із безпекою наявності файлів WordPress, що належать головному процесу Apache / www / php.


Чудова відповідь. Це усунуло мої проблеми. Це десь задокументовано?
Евері Чан

Так, хоча можливо з різною кількістю деталей: codex.wordpress.org/Filesystem_API
Отто,

коли ви говорите, зробіть зв’язок "назад до себе". Ви хочете сказати, що PHP - клієнт FTP і підключається до того самого сервера, на якому працює?
dangel

Так, саме так.
Отто
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.