Проблема: CTRL-C, кажется, работает, чтобы убить процесс, выполняющийся на переднем плане иногда, но не всегда. Это также НИКОГДА не работает, чтобы очистить текущую команду BASH (это та часть, которая действительно меня беспокоит).
Эта проблема, кажется, возникает только тогда, когда я подключаю одно соединение SSH через другое. Я использую PuTTY и PLink. К сожалению, у меня нет большого выбора в наборе инструментов, используемых для подключения к моим серверам. Мне удалось проверить это с помощью ProxyCommand в конфигурации Linux SSH, и результат был таким же.
Вот что у меня есть:
Клиент - это рабочая станция Windows с установленной PuTTY. ServerA - это мой "прыжковый хост". В основном бастион, который я могу получить от Клиента. ServerB это мой пункт назначения. Это может быть достигнуто сервером A, но не клиентом.
Putty на клиенте настроен с ServerA в качестве локального прокси. Локальная прокси-команда:
plink -agent -l% user% proxyhost -nc% host:% port
Все отлично работает для обычного использования, однако, если у меня есть частично набранная команда bash, которую я хочу очистить, CTRL-C не будет работать так, как вы ожидаете. На самом деле, это просто ничего не делает. То же самое касается попытки убить работающую команду. Если запущенный процесс настроен на перехват и выполнение каких-либо действий с SIGTERM, это произойдет, но если это не так, похоже, что SIGTERM не может сказать bash, чтобы завершить процесс.
Если я SSH напрямую на другой сервер, CTRL-C работает как обычно. Тем не менее, когда я подключаюсь к серверу SSH через прокси-сервер plink, это не так. Кажется, что, возможно, это проблема либо с plink, либо с тем, что передает ServerA через туннель -nc, однако я не смог найти никакой документации по нему.
Я не уверен, что делать дальше для отладки. Кто-нибудь еще сталкивался с этим и решил?
Благодарю.