Paka
@Paka

Как php ssh2 диалоги команд?

Я подключился по ssh, но вводимая команда требует ввода пароля. Но я не знаю как его ввести (если это возможно)
$connection = ssh2_connect('192........237', 22);
ssh2_auth_password($connection, 'admin', 'pass01');
ssh2_exec($connection, 'sudo /usr/sbin/asterisk -rx "sip show peers"');
// и вот здесь проскакивает диалог на ввод пароля, можно ли вступить в этот диалог?
// через putty я ввожу пароль и получаю нужный ответ, но как этого добиться через этот скрипт?
  • Вопрос задан
  • 320 просмотров
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
sudo можно настроить, чтобы он не требовал пароль для определенных пользователей или групп пользователей.

sudo visudo

либо:

sudo nano /etc/sudoers

где nano - текстовой редактор, можно использовать любой. (через visudo безопасней, т.к. программа проверяет наличие ошибок, перед заменой основного файла конфигурации)

В конец файла добавить строку:

имяПользователя ALL=(ALL) NOPASSWD:ALL

Для групп, перед именем следует указывать символ процента (%). Например, %admin - правило для группы admin.

Затем перезапустить sudo:

sudo service sudo restart

После этого, для указанного пользователя пароль запрашиваться не будет.

Запись лучше добавлять в конец файла, чтобы разрешающее правило не пересеклось с запрещающими/ограничивающими (иначе не будет работать).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы