ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Linux服务

Linux服务

1️⃣ 查看 SSH 服务是否启动

systemctl status sshd

如果输出中显示active (running),说明 SSH 服务已启动。

2️⃣ 查看 SSH有没有监听端口

ss -tlnp | grep sshd

或使用netstat(需安装net-tools)

netstat -tlnp | grep sshd

如果有输出,说明 SSH在监听某个端口。

3️⃣ 查看 SSH监听的哪个端口

grep -i "^Port" /etc/ssh/sshd_config

也可以结合ss查看实际监听情况

ss -tlnp | grep sshd

默认端口是22,但配置文件可能修改过。

4️⃣ 查看 22 端口是否启动 / 是否被监听

ss -tlnp | grep ":22 "

或:

netstat -tlnp | grep ":22 "

如果有输出,说明 22 端口正在被监听。

5️⃣ 查看 22 端口被谁监听

ss -tlnp | grep ":22 "

输出最后一列会显示进程信息,例如users:(("sshd",pid=1234,fd=3)),就能看到是sshd进程在监听。

如果需要更详细的进程信息:

lsof -i :22

会显示监听 22 端口的进程名、PID、用户等详细信息。

查看 SSH 进程是否在运行,常用以下几种命令:


方法一:用ps查找 sshd 进程

ps aux | grep sshd

  • 如果输出中有/usr/sbin/sshd或类似进程行(排除grep sshd自身那一行),说明sshd 进程正在运行。

方法二:用systemctl查看服务状态

systemctl status sshd

  • 输出中显示active (running),说明 SSH 服务已启动。

  • 有些发行版服务名是ssh而非sshd,可以试:

    systemctl status ssh

方法三:用pgrep快速判断

pgrep -a sshd

  • 有输出(显示 PID 和进程路径)→ 进程在运行。
  • 无输出 → 进程未运行。

方法四:用pidof查看

pidof sshd
  • 返回 PID 号 → 在运行。
  • 无返回 → 未运行。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进