Я хочу создать ssh, который является внутренней оболочкой канала JSch, а также входным потоком оболочки и выходным потоком. поддерживается мной.
Проблема в том, что я отправляю командную строку
Код: Выделить всё
ssh -o ServerAliveInterval=5 -o ServerAliveCountMax=2 -o StrictHostKeyChecking=no -o ConnectTimeout=10 -T root@xxx.xxx.xxx.xxx -p 22
Поддерживает ли JSch настройку внутреннего ssh-соединения для обработки проверки активности, например ServerAliveInterval ?
Некоторые шаги для описания вопроса:
- создайте канал оболочки, используйте JSch для входа в хост1
- используйте переход по каналу на хост 2, отправив команду ssh -o ServerAliveInterval=5 -o ServerAliveCountMax=2 root@xxx.xxx.xxx.xxx -p 22 который представляет собой поток байтов. Новый ssh настроен с помощью ServerAliveInterval для проверки состояния сети ssh хоста2.
Проблема в том, что хост2 нельзя проверить, если только Сеть хоста2 безубыточна, поскольку я использую конфигурацию ServerAliveInterval при переходе на хост2. Он будет держаться долгое время (более 1 минуты в моем тесте), пока я не получу
packet_write_wait: Соединение с портом xxx.xxx.xxx.xxx 22: сломано Pipe
Но я ожидаю, что какое-то сообщение об ошибке появится менее чем через 10 секунд, поскольку был установлен ServerAliveInterval=5 ServerAliveCountMax=2.
Подробнее здесь: https://stackoverflow.com/questions/471 ... -not-works
Мобильная версия