自学内容网 自学内容网

如何删除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 进程来停止端口转发。

  1. 先找到 SSH 进程的 PID:

    ps aux | grep ssh

    这会列出所有运行的 SSH 进程,找到与你的端口转发相关的 SSH 进程(例如你配置的 -L-R)。

  2. 使用 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 的控制命令关闭特定的端口转发。

  1. 在 SSH 会话中,输入 ~C(在命令行按下 ~ 然后按 C)进入 SSH 控制命令模式。

  2. 使用以下命令列出当前的端口转发:

    -L
  3. 你可以输入相应的端口号或连接编号来终止特定的端口转发。

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)!