Как копия ssh ключ к authorized_keys с помощью php shell_exec?

Я пробую к скопировать/вставить ssh ключу в authorized_keys файл на экземпляре Ubuntu ec2 из сценария PHP, который выполняет команду shell_exec.

Я добираюсь, полномочия отклонили ошибку. Это - www-пользователь-данных поединка, не имеющий доступ к корневым полномочиям. Но если я делаю это затем, это - потенциальная угроза нарушения безопасности, и я не уверен в осуществимом решении..

Я искал онлайн, но я не мог найти удовлетворительные результаты. Существует ли способ заставить его работать от php? Или как еще я могу сделать это?

Править:

Пользователь является www-данными.

PHP-СКРИПТ:

$out = shell_exec('sh /var/www/html/updatekey.sh '.$PUBKEY.' 2>&1');

СЦЕНАРИЙ Updatekey.sh:

#!/bin/sh
pkey="${1}";
authpath="/home/ubuntu/.ssh/authorized_keys";
copykey=`grep -qF -- "$pkey" "$authpath" || echo "$pkey" >> "$authpath"`
echo $copykey

Я отправляю открытый ключ в Сценарий PHP для добавления в authorzied_keys файле потому что, когда я выполняю эту команду:

ssh-copy-id -i /PATH/TO/PUBLIC/KEY USER@SERVER

Я добираюсь, полномочия отклонили ошибку. И теперь я получаю ту же ошибку в Сценарии PHP также.

0
задан 8 January 2020 в 16:20

1 ответ

Существует ли способ заставить его работать от php?

Не совсем.

Как копия ssh ключ к authorized_keys с помощью php shell_exec?

Мы делаем вещи как это на 2 шагах:

  • Имейте хранилище PHP ключ в файл на сервере.
  • Имейте сценарий крона, берут файл с затем ключом и делают обновление.

Выполнения сценария крона как корень так способны к выполнению обновления.

0
ответ дан 12 January 2020 в 12:36

Другие вопросы по тегам:

Похожие вопросы: