如何删除ssh配置的端口转发
要删除通过 SSH 配置的端口转发,你可以采取以下几种方式,具体取决于你是如何配置端口转发的。
1. 手动关闭 SSH 连接
SSH 端口转发是在建立 SSH 连接时生效的,因此,最简单的方法就是关闭这个 SSH 连接。你可以通过以下方法来终止 SSH 端口转发:
方法一:退出当前 SSH 会话
如果你是在前台运行 SSH 端口转发,只需通过 Ctrl+C
或直接退出 SSH 会话,端口转发就会被关闭。示例:
ssh -L 8080:localhost:80 user@remote_host
- 关闭连接:
- 如果该 SSH 会话在前台运行,直接退出会话即可终止端口转发。
方法二:查找并杀掉 SSH 进程
如果 SSH 端口转发在后台运行,使用 -f
选项启动,可以通过终止对应的 SSH 进程来停止端口转发。
-
先找到 SSH 进程的 PID:
ps aux | grep ssh
这会列出所有运行的 SSH 进程,找到与你的端口转发相关的 SSH 进程(例如你配置的
-L
或-R
)。 -
使用
kill
命令结束 SSH 进程:kill [PID]
替换
[PID]
为你找到的 SSH 进程的进程 ID。
2. 检查并关闭 SSH 后台进程(-f
选项)
当你使用 -f
选项启动 SSH 端口转发时,SSH 会在后台运行。你可以通过以下方式找到和关闭这些后台进程。
查看后台 SSH 进程
你可以通过 ps
命令查找正在运行的 SSH 进程,过滤掉与 SSH 相关的端口转发命令。
ps aux | grep 'ssh -L\|ssh -R'
找到相应的进程后,用 kill
结束进程。
终止后台进程
找到对应的进程 ID 后,使用以下命令终止它:
kill [PID]
例如,假设你找到的 SSH 端口转发进程的 PID 是 12345,则运行:
kill 12345
3. 使用 ~
命令关闭端口转发(在 SSH 会话中)
如果你在 SSH 会话中并且开启了端口转发,可以通过 SSH 的控制命令关闭特定的端口转发。
-
在 SSH 会话中,输入
~C
(在命令行按下~
然后按C
)进入 SSH 控制命令模式。 -
使用以下命令列出当前的端口转发:
-L
-
你可以输入相应的端口号或连接编号来终止特定的端口转发。
4. 重启 SSH 服务(极端情况)
如果你不能找到相关的 SSH 进程,或有多个复杂的端口转发,可以通过重启 SSH 服务来停止所有的端口转发。
对于 Debian/Ubuntu 系统:
sudo systemctl restart ssh
对于 CentOS/RHEL 系统:
sudo systemctl restart sshd
总结:
- 前台 SSH 会话:直接退出 SSH 会话或使用
Ctrl+C
停止端口转发。 - 后台 SSH 会话:使用
ps aux
找到并终止 SSH 进程。 - SSH 控制命令:在会话中使用
~C
进入控制模式,关闭特定端口转发。 - 重启 SSH 服务:在必要情况下,重启 SSH 服务可以终止所有的 SSH 会话和端口转发。
原文地址:https://blog.csdn.net/LONG_Yi_1994/article/details/142430930
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!