linux pkill命令的坑

执行pkill ssh后无法重新登录,可能是误杀了sshd服务进程(SSH服务端主进程),导致SSH服务停止,无法接受新连接。若仅需杀掉某条SSH连接(而非停止服务),需通过以下步骤操作:

一、无法重新登录的原因‌
pkill ssh命令会终止所有名称包含ssh的进程,包括:

sshd服务进程‌:SSH服务端主进程(负责监听和接受新连接)被终止后,新的SSH连接请求会被拒绝‌

二、恢复SSH服务(解决无法登录)‌
若已通过本地终端或控制台登录服务器,需重启sshd服务:

bash
systemctl restart sshd # 重启SSH服务
systemctl enable sshd # 确保开机自启(防止重启后服务未启动)‌:ml-citation{ref="3" data="citationList"}
若无法本地登录,需通过服务器物理控制台或带外管理口(如iDRAC)操作,或重启服务器后SSH服务会自动恢复(需确保sshd已设置开机自启)‌

 

三、杀掉某条SSH连接(不停止服务)‌
1. 查看当前SSH连接‌
先通过以下命令找到目标连接的进程ID(PID):

bash
# 方法1:查看所有SSH连接的进程信息
ps aux | grep sshd
# 输出示例:root 1234 0.0 0.1 12345 6789 ? Ss 10:00 0:00 sshd: root@pts/0

# 方法2:通过端口和IP定位(推荐)
netstat -tunlp | grep sshd
# 或(CentOS 7需安装net-tools)
ss -ntp | grep sshd
# 输出示例:tcp 0 0 192.168.1.100:22 192.168.1.200:56789 ESTABLISHED 1234/sshd: root@pts
记录目标连接的PID(如示例中的1234)和客户端IP(如192.168.1.200)。

 

posted on 2025-12-21 20:13  sunny_2016  阅读(0)  评论(0)    收藏  举报

导航