我正在使用这个 ssh 命令:
ssh -fnN -L $LOCALPORT:$REMOTEHOST:$REMOTEPORT $HOST
这会在后台创建我的 ssh 连接,并通过另一台主机将该端口转发到远程主机。这很棒,让我可以通过连接到可以访问两个网络的服务器在防火墙后面使用我的服务。
完成后我需要停止这个 ssh 连接,但我不确定该怎么做。
答案1
PID
使用命令找到ps
并使用该命令向其发送QUIT信号kill
。
查找PID
:
ps -o pid,cmd | grep ssh
发送QUIT
信号:
kill -QUIT <pid>
答案2
我发现的最佳解决方案是按照以下步骤关闭所有隧道:
ps -o pid,cmd|grep "ssh -L"|grep -v grep|awk '{print $1}'|xargs kill
- 获取所有进程的id和命令
- ssh -L 过滤器
- 获取进程 ID 并终止它