如何终止密钥认证的SSH端口转发连接并释放占用的53407端口
如何终止密钥认证的SSH端口转发连接并释放占用的53407端口
嘿,我明白你现在的困扰——用SSH密钥做了远程端口转发后,想终止连接却发现53407端口还被占用,哪怕删了服务也没用。别慌,咱们一步步搞定它:
步骤1:定位占用端口的SSH进程
首先得找到那个“赖着”占用53407端口的SSH进程ID(PID),有两种靠谱的方法:
通过端口直接查找:你已经用到了
lsof,可以精准过滤53407端口的监听进程:lsof -i :53407 | grep LISTEN输出里第二列就是PID,比如类似这样:
sshd 12345 root 3u IPv4 123456 0t0 TCP 0.0.0.0:53407 (LISTEN)通过SSH命令查找:如果上面的方法没找到,也可以直接搜索你当初执行的转发命令:
ps aux | grep "ssh -N -R 0.0.0.0:53407:localhost:53407"从结果里找到对应的PID即可。
步骤2:终止进程释放端口
拿到PID后,咱们分两种方式终止进程:
优雅终止(优先尝试):先用普通
kill命令让进程正常退出:kill <你的PID>比如你找到的PID是12345,就执行
kill 12345。强制终止(优雅方式失效时用):如果普通kill没反应,就用强制终止命令:
kill -9 <你的PID>这个命令会直接强制杀掉进程,基本能解决所有顽固情况。
步骤3:验证端口是否释放
最后再确认一下端口是不是真的被释放了:
lsof -i :53407 | grep LISTEN
如果没有任何输出,说明53407端口已经完全空闲了。
另外补充个小技巧:如果你的SSH转发是在前台会话里运行的(没后台化),直接按Ctrl+C就能终止连接,这是最优雅的方式,但如果会话已经找不到了,就用上面的杀进程方法就行。
备注:内容来源于stack exchange,提问作者Pouria Sh
相关产品推荐
相关产品推荐

