Warnung: Remote-Port-Weiterleitung für Abhör-Port „xxxx“ fehlgeschlagen

Warnung: Remote-Port-Weiterleitung für Abhör-Port „xxxx“ fehlgeschlagen

Wie finde ich den Prozess, der auf Port „xxxx“ lauscht, und beende ihn?

Ich habe es RemoteForward 2022 remote.host:22in meiner .ssh/config-Datei.

Immer wenn ich mich per SSH mit einem Remote-Server in Verbindung setze, ssh staging-environmenterhalte ich diese Fehlermeldung:Warning: remote port forwarding failed for listen port 2022

Ich muss diesen Port für die Portweiterleitung geöffnet haben.

Wie finde ich den Prozess, der auf Port 2022 lauscht, und beende ihn?

AKTUALISIEREN:

Ausgabe vonnetstat -tulpn

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:83                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:84                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:85                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:86                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:2022              0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:2023              0.0.0.0:*                   LISTEN      -

Antwort1

Der richtige Befehl, um zu sehen, wer Port 2022 verwendet, lautet

  sudo ss -ntp

Erstens sollten Sie nestat nicht verwenden, da dieses mittlerweile veraltet ist (wenn Sie Linux verwenden, was ich glaube, aber wenn Sie Unix verwenden, vergessen Sie es einfach); zweitens sollten Sie den Befehl wie folgt ausführen:sudo, sonst haben Sie nicht die Berechtigung, die Prozesse anzuzeigen, die den Port verwenden; drittens sollten Sie unbedingtnichtbenutze die FlaggeSie, weil dies bedeutet, dass Sie die UDP-Ports überprüfen müssen, während Sie einen Fehler erhalten beissh, das mit Sicherheit TCP und nicht UDP verwendet.

Antwort2

Sie können hierfür mehrere Methoden verwenden. netstat ist ein Befehlszeilentool, das das gewünschte Ergebnis liefern sollte. Ein Befehlszeilenbeispiel wäre etwa:

# netstat -tulpn

Dadurch werden die Ports auf Ihrem System und die darauf lauschende Anwendung gelöscht.

Hoffe das hilft

Antwort3

Ich umgehe diesen Fehler derzeit, indem ich mich bei meinem Server anmelde und ps -ef | grep sshalle von meinem Benutzer gestarteten Sitzungen beende.

Antwort4

Ein kurzer Einzeiler genügt

for pid in `netstat -tunpl | awk '{print $4, $7}' | grep ':2022' | awk '{print $2}' | cut -d '/' -f1`; do kill -9 $pid; done

verwandte Informationen