Sådan viser du aktuelle åbne SSH-tunneler på Linux med et shell-script

Hvordan kan en liste over aktuelle åbne SSH-tunneler på en Linux-maskine vises via et shell-script, inklusive både lokale og eksterne porte?

For at vise en liste over aktuelle åbne SSH-tunneler på en Linux-maskine, kan du oprette og køre et shell-script, der finder SSH-processer og kontrollerer deres kommandolinjer for lokale eller eksterne port forwarding.

Sådan vises en liste over aktuelle åbne SSH-tunneler på en Linux-maskine via et shell-script

For at vise en liste over aktuelle åbne SSH-tunneler på en Linux-maskine, inklusive både lokale og eksterne porte, kan du bruge et shell-script. Følgende trin beskriver, hvordan du kan oprette og køre et sådant script:

  1. Opret et nyt shell-script. Du kan bruge en teksteditor som nano eller vim til at oprette filen. For eksempel:

    nano list_ssh_tunnels.sh
  2. Tilføj følgende indhold til scriptet for at finde og vise de aktuelle SSH-tunneler:

    #!/bin/bash
    
    # Find all SSH processes
    ps aux | grep ssh | grep -v grep | while read -r line ; do
        # Extract the process ID (PID)
        pid=$(echo $line | awk '{print $2}')
        
        # Get the command line of the process
        cmdline=$(cat /proc/$pid/cmdline | tr '\0' ' ')
        
        # Check if the command line contains '-L' or '-R' for local or remote port forwarding
        if [[ $cmdline == *"-L"* ]] || [[ $cmdline == *"-R"* ]]; then
            echo "SSH Tunnel found:"
            echo "PID: $pid"
            echo "Command: $cmdline"
            echo ""
        fi
    done
  3. Gem og luk filen.

  4. Gør scriptet eksekverbart ved at køre følgende kommando:

    chmod +x list_ssh_tunnels.sh
  5. Kør scriptet for at vise de aktuelle SSH-tunneler:

    ./list_ssh_tunnels.sh

Dette script vil finde alle kørende SSH-processer, kontrollere deres kommandolinjer for lokale (-L) eller eksterne (-R) port forwarding og derefter vise relevante oplysninger, herunder proces-ID (PID) og den fulde kommandolinje.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker