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:
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
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
Gem og luk filen.
Gør scriptet eksekverbart ved at køre følgende kommando:
chmod +x list_ssh_tunnels.sh
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.
Med Handyhand kan du nemt få hjælp til SSH-tunneler og Linux-opgaver. Opret din opgave gratis, og modtag bud fra dygtige hjælpere på få minutter. Uanset om du har brug for vejledning eller praktisk assistance, er Handyhand din løsning.