Я пытаюсь найти решение, которое позволит пользователю подключаться к серверу через SFTP с использованием предоставленной комбинации имени пользователя / ключа (хранящейся в базе данных MySQL для установки Wordpress), без необходимости постоянно хранить два или более отдельных системы в синхронизации.
Это запрос MySQL, который получает два столбца с именем пользователя и ключом API, которые пользователь вводит в свой клиент SFTP в качестве пароля:
SELECT m.meta_value, u.user_login
FROM wp_users AS u, wp_usermeta AS m
WHERE m.user_id = u.ID AND m.meta_key = "user_apikey";
Что касается файловой системы, существует папка, имя которой совпадает с именем пользователя для каждого пользователя, и все они находятся в одном каталоге. Папка этого пользователя может существовать или не существовать. Когда пользователь устанавливает SFTP-соединение с сервером, ему следует показывать только содержимое этой папки после проверки подлинности.
Надеюсь, кто-то знает простое решение этой проблемы. Единственное ограничение, которое у меня есть, - это то, что он должен работать на коробке CentOS, но я довольно открыт для любых инструментов и языков.