我想将 SSH 移至端口 443,但 https 使用了它。在 /etc/apache2/ports.conf 中,我注释了通过此端口监听的行。在可用的默认站点中也注释了这些行。最后,我完全停止了 apache 服务,但我收到了以下信息:
$ sudo lsof -i :443
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 32156 root 3u IPv4 2415725 0t0 TCP *:https (LISTEN)
sshd 32156 root 4u IPv6 2415727 0t0 TCP *:https (LISTEN)
我不明白如果 Apache 关闭了,为什么 https 还会继续存在?
注意:Debian 3.2.60-1+deb7u3 / Apache/2.2.22
答案1
从输出来看,ssh 似乎正在监听端口 443。下面是COMMAND
正在运行的应用程序或服务。下面NAME
显示*:https
sshd 正在监听端口 https (443) 上的所有接口
我认为可能令人困惑的是端口协议的名称与显示的实际端口号。
我的 sshd 仍然在端口 22 上,我看到
sudo lsof -i :22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 976 root 3u IPv4 9173 0t0 TCP *:ssh (LISTEN) sshd 976 root 4u IPv6 9175 0t0 TCP *:ssh (LISTEN)
对于 Apache,你可以看到命令有所不同
sudo lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME apache2 6131 root 4u IPv6 60547 0t0 TCP *:http (LISTEN) apache2 26677 www-data 4u IPv6 60547 0t0 TCP *:http (LISTEN)
答案2
有一个列表/etc/services
用于将端口号转换为协议名称以增加可读性。第一列清楚地表明有 sshd,而不是 apache。