Мне нужно эмулировать следующее с помощью скрипта, который вызывается веб-службой, запущенной с сервера Linux:
- Доступ к удаленному серверу AIX через SSH
- Войдите в экземпляр Intersystems Cache (если это незнакомо, представьте, что мы загружаем интерактивную среду Python или Ruby [irb])
- Выполнить команды
- Выполнять больше команд в зависимости от вывода предыдущих команд
- Записывать все входные и выходные данные из этой среды
Это довольно просто сделать в C # с библиотекой SSH.NET. Откройте shellstream для удаленного хоста, подключите StreamReader и StreamWriter, затем отправьте входные данные в SSH-соединение через StreamWriter и прочитайте выходные данные из него через StreamReader.
Как мне это сделать на сервере Linux с ssh? Я экспериментирую с экраном, но кажется, что он больше предназначен для интерактивного использования человеком, чем для сценариев, и мне интересно, не лаю ли я не то дерево.
У меня нет контроля над тем, что установлено на сервере AIX. Я мог бы установить вещи там, но без гарантий.
Гораздо позже редактировать: возможные решения включают pexpect/pxssh (Python), paramiko (также Python)