SSH-соединение открывается с помощью Plink (PuTTY) с Windows-машины на сервер Solaris через:
Plink.exe -t <hostname> /bin/bash
Затем командная строка bash записывается в stdin Plink.exe, анализируется и выполняетсяудаленным /bin/bash
процессом.
Он работает до тех пор, пока длина командной строки bash не превышает 256 символов.После того, как было написано 256 символов, больше символов не выводится обратно, и вместо этого для каждого дополнительного символа возвращается BEEP (код ASCII 7).
(может показаться странным использовать /bin/bash
вместо вызова скриптанапрямую, но это упрощенный пример более сложного сценария)
Ограничение в 256 символов, по-видимому, возникает только при использовании флага -t, но команды, которые выполняются на сервере Solaris, требуют TTY.
Процесс Plink.exe
запускается из JVM на компьютере с Windows.
Я попытался загрузить Plink.exe с конфигурацией сеанса PuTTY с "Редактированием локальной линии" и "Локальным эхом"оба выключены, но поведение было одинаковым.
Есть ли ограничение в 256 символов в клиенте SSH (Plink.exe
) или на стороне сервера (Solaris, OpenSSH, Bash)?
Как можно избежать ограничения в 256 символов?