Запрос на ввод пароля закрытого ключа обрабатывается нормально, если я не делаю каких-либо специальных действий: я ввожу его, когда предлагается, и все в порядке. Однако это накладывает несколько ограничений:
- Я не могу ввести пароль, пока не будут завершены предыдущие шаги сценария.
< li>Мне нужно вводить его каждый раз, когда я запускаю SSH в своем скрипте.
- Скрипт по-прежнему останавливается с сообщением «Введите кодовую фразу для ключа».
- Процесс запускается и завершается сбоем, код выхода равен нулю, стандартный вывод процесса и стандартный поток stderr пусты, а терминал показывает «Введите кодовую фразу для ключа».
Код: Выделить всё
$input = new InputStream();
$process = new Process('ssh connectionnamehere ls -Al');
$process->setInput($input);
$process->start();
//$process->wait();
$input->write('MYSSHPASSWORDHERE'. "\r\n"); // Temporarily hard-coded until I figure this out
$input->close();
var_dump(
$process->isSuccessful(),
$process->getExitCode(),
$process->getExitCodeText(),
$process->getOutput(),
$process->getIncrementalOutput(),
$process->getErrorOutput(),
$process->getIncrementalErrorOutput()
);
Код: Выделить всё
bool(false)
NULL
NULL
string(0) ""
string(0) ""
string(0) ""
string(0) ""
Enter passphrase for key 'C:\Users\MYUSERNAMEHERE\.ssh\id_rsa-redacted':
Подробнее здесь: https://stackoverflow.com/questions/787 ... on-windows