Problem: CTRL-C scheint zu funktionieren, um einen Prozess zu beenden, der manchmal, aber nicht immer im Vordergrund läuft. Es funktioniert auch NIEMALS, um den aktuellen BASH-Befehl zu löschen (das ist der Teil, der mich wirklich nervt).

Dieses Problem taucht anscheinend nur auf, wenn ich eine SSH-Verbindung über eine andere Proxy-Verbindung übertrage. Ich benutze PuTTY und PLink. Leider habe ich im Toolset für die Verbindung zu meinen Servern keine große Auswahl. Ich habe es geschafft, dies mit einem ProxyCommand in der Linux-SSH-Konfiguration zu testen und das Ergebnis war das gleiche.

Folgendes habe ich:

Client ist eine Windows-Workstation, auf der PuTTY installiert ist. ServerA ist mein "Jumphost". Grundsätzlich eine Bastion, die ich vom Kunden aus erreichen kann. ServerB ist mein Ziel. Es kann von ServerA aber nicht von Client erreicht werden.

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

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

Für den normalen Gebrauch funktioniert alles hervorragend. Wenn ich jedoch einen teilweise getippten bash-Befehl habe, den ich löschen möchte, funktioniert STRG-C nicht wie erwartet. Tatsächlich tut es einfach nichts. Gleiches gilt für den Versuch, einen laufenden Befehl zu beenden. Wenn der laufende Prozess so eingerichtet ist, dass er SIGTERM abfängt und etwas mit ihm unternimmt, geschieht dies. Andernfalls weist SIGTERM bash anscheinend nicht an, den Prozess abzubrechen.

Wenn ich direkt in einen anderen Server SSH, funktioniert STRG-C wie gewohnt. Wenn ich jedoch über einen Plink-Proxy einen SSH-Server einrichte, funktioniert dies nicht. Es scheint, als wäre dies ein Problem mit der Verbindung oder dem, was auch immer den -nc-Tunnel von ServerA weiterleitet. Ich konnte jedoch keine Dokumentation dazu finden.

Ich bin nicht sicher, was ich als nächstes tun soll, um zu debuggen. Hat noch jemand darauf gestoßen und es gelöst?

Vielen Dank.

JasonK
quelle