CTRL-C funktioniert manchmal nur über eine Proxy-Verbindung

688
JasonK

Problem: CTRL-C scheint zu funktionieren, um einen Prozess zu beenden, der im Vordergrund ausgeführt wird, aber nicht immer. Es funktioniert auch NIEMALS, den aktuellen BASH-Befehl zu löschen (dies ist der Teil, der mich wirklich stört).

Dieses Problem scheint nur dann aufzutreten, wenn ich eine SSH-Verbindung über eine andere Proxy-Verbindung setze. Ich verwende PuTTY und PLink. Leider habe ich keine große Auswahl bei dem Toolset, das für die Verbindung zu meinen Servern verwendet wird. Ich habe es geschafft, dies mit einem ProxyCommand in Linux SSH config zu testen und das Ergebnis war das gleiche.

Hier ist was ich habe:

Client ist eine Windows-Workstation, auf der PuTTY installiert ist. ServerA ist mein "Jumphost". Im Grunde eine Bastion, die ich vom Kunden erreichen kann. ServerB ist mein Ziel. Es kann von ServerA erreicht werden, jedoch nicht vom Client.

Putty on Client ist mit ServerA als lokalem Proxy konfiguriert. Der lokale Proxy-Befehl lautet:

plink -agent -l% user% proxyhost -nc% host:% port

Alles funktioniert gut für den normalen Gebrauch. Wenn ich jedoch einen teilweise eingetippten Bash-Befehl habe, den ich löschen möchte, funktioniert STRG-C nicht so, wie Sie es erwarten würden. In der Tat tut es einfach nichts. Dasselbe gilt für den Versuch, einen laufenden Befehl abzubrechen. Wenn der laufende Prozess so eingerichtet ist, dass er mit SIGTERM Trap-Aktionen ausführt, geschieht dies. Wenn dies nicht der Fall ist, scheint es, dass das SIGTERM der bash keine Anweisung gibt, den Prozess abzubrechen.

Wenn ich SSH direkt in einen anderen Server einfühle, funktioniert CTRL-C wie gewohnt. Wenn ich jedoch über einen Plink-Proxy SSH in einen Server einsetze, ist dies nicht der Fall. Es scheint, als wäre dies möglicherweise ein Problem mit plink oder was auch immer den -nc-Tunnel von ServerA passiert. Ich konnte jedoch keine Dokumentation darüber finden.

Ich bin nicht sicher, was als nächstes zu debuggen ist. Hat jemand anderes dieses Problem gefunden und es gelöst?

Vielen Dank.

1

0 Antworten auf die Frage