通过 SSH 查看和检查您的 access.log

一旦会发现来自特定 IP 的滥用行为,这通常是由于机器人访问您的网站。但是,您也可能会发现与过度浏览您网站的机器人无关的 IP。

本节列出了一些您可以通过SSH运行的命令,以帮助识别哪些 IP 正在访问您的站点。推荐阅读:《 SSH访问如何在共享主机计划中生效? 》

登录您的服务器

要运行以下命令,您必须首先通过 SSH 登录到您的服务器:

SSH 概述

登录后,导航到正确的日志目录。

我应该查看哪个日志目录?

如果您已将SSL 证书添加到您的网站,您将看到两个文件夹。一种用于/http,一种用于/https。例如:

/logs/example.com/http

/logs/example.com/https

如果您访问您的站点并看到它在 URL ( https://example.com ) 中使用HTTPS,则这意味着您应该查看/https目录。如果您的站点在访问时显示HTTP,您将改为查看/http目录。以下示例假定您的站点使用HTTPS。

cd ~/logs/ example.com /https

您将在此处运行以下命令。

列出 IP 命中

列出顶级文件、文件夹和域

VPS主机或美国linux服务器上的 SHELL 用户

以下命令仅显示单个Shell 用户下的站点。如果您需要查看服务器上的所有站点日志,请查看下面标题为“美国linux服务器上的管理员用户”的部分。推进阅读:《什么是SSH密钥,如何结合Linux服务器使用它》

美国linux服务器上的管理员用户

以下命令仅在您的美国linux服务器上有“管理员”用户时才有效。然后您必须切换到您的“root”用户。只有这样,您才能看到服务器上所有站点的所有日志。

以“管理员”用户身份登录后如何切换到“root”用户

以下步骤详细说明了在首先以“admin”用户身份登录后如何以“root”用户身份登录到您的服务器。

1.以您的“管理员”用户身份登录您的服务器。

2.运行sudo 是:

3.输入您的“管理员”用户的密码。

4.您现在以“root”用户身份登录。您可以在命令提示符中看到这一点:

以“root”用户身份登录后,运行以下命令以查看服务器上所有站点的日志。

我的唯一 IP 建立了很多连接

您可能会在 access.log 中发现您站点的唯一 IP 正在建立大量连接。这不是问题,可以安全地忽略。

发生这种情况是因为 Apache 在内部生成这些连接以关闭不需要的进程。

故障排除

运行命令查看服务器上所有域的所有流量后,您可能会看到以下错误响应。

当您以 SFTP 用户身份运行该命令时会发生此错误。您必须以 VPS主机上的“Shell”用户或美国linux服务器上的“Shell”或“Admin”用户身份运行它。推荐阅读:《解决SSH登录用户执行的命令部分环境变量参数不生效的问题》