Konfigurer SSH til at Fejle med Ikke-Null Returkode ved Eksisterende Binding på Ekstern Port

Hvordan kan SSH konfigureres til at fejle og afslutte med en ikke-nul returkode, når en binding allerede eksisterer på den eksterne port ved brug af remote port forwarding, i stedet for blot at udsende en advarsel?

For at sikre, at SSH fejler og afslutter med en ikke-nul returkode ved eksisterende binding på ekstern port, skal du konfigurere SSH korrekt og bruge optionen `-o ExitOnForwardFailure=yes` ved opstart af SSH sessionen.

Sådan konfigureres SSH til at fejle og afslutte med en ikke-nul returkode ved eksisterende binding på ekstern port

For at sikre, at SSH fejler og afslutter med en ikke-nul returkode, når en binding allerede eksisterer på den eksterne port ved brug af remote port forwarding, kan du følge disse trin:

  1. Åbn din SSH konfigurationsfil. Dette kan være /etc/ssh/sshd_config for system-wide konfiguration eller ~/.ssh/config for bruger-specifik konfiguration.
  2. Tilføj eller rediger følgende linje i konfigurationsfilen:
    GatewayPorts yes
  3. Gem og luk konfigurationsfilen.
  4. Genstart SSH dæmonen for at anvende ændringerne. Dette kan gøres med følgende kommando:
    sudo systemctl restart sshd
  5. Brug -o ExitOnForwardFailure=yes optionen, når du starter din SSH session. Dette sikrer, at SSH afslutter med en ikke-nul returkode, hvis port forwarding fejler. Eksempel:
    ssh -R [remote_port]:localhost:[local_port] -o ExitOnForwardFailure=yes user@remote_host

Ved at følge disse trin vil SSH fejle og afslutte med en ikke-nul returkode, hvis der allerede eksisterer en binding på den eksterne port, i stedet for blot at udsende en advarsel.