这是一个Bash脚本示例,用于将多个端口转发到不同的目标IP地址和端口。您可以将本机端口重定向到远程服务器,以便在不连接直接到服务器的情况下访问本地服务。脚本使用SSH隧道来执行端口转发。
以下是脚本实现:
#!/bin/bash
ports=("8080" "3000" "5000")
remote_ips=("10.0.0.1" "10.0.0.2" "10.0.0.3") remote_ports=("80" "3000" "8080")
for index in ${!ports[@]} do # 从数组中获取要转发的端口号 port=${ports[$index]}
# 从数组中获取要转发到的远程IP地址和端口
remote_ip=${remote_ips[$index]}
remote_port=${remote_ports[$index]}
# 执行端口转发,并将SSH连接保持在后台
ssh -nNT -L "$port:localhost:$remote_port" user@$remote_ip &
done
sleep 5 pkill -f "ssh -nNT"
这个脚本执行以下操作: