9 SSH检查

    概述

    要执行SSH检查,Zabbix服务器必须首先 SSH2支持(libssh2或libssh)。参考:要求

    从RHEL8/CentOS8开始只支持libssh.

    配置

    密码验证

    SSH 检查提供两种身份验证方法,用户/密码对和基于密钥文件。

    如果您正在构建从源码Zabbix,且不打算使用密钥文件,除了将 libssh2/libssh 链接到 Zabbix,无需额外配置。

    密钥文件认证

    SSH监控项基于密钥的身份验证,需要对服务器配置进行某些更改。

    使用身份打开 Zabbix 服务器配置文件(zabbix_server.conf) 并查找以下行:

    取消注释,配置公钥和私钥所在文件夹的完整路径,样例如下:

      保存文件并重启 zabbix_server 服务。

      这里的 /home/zabbixzabbix 用户的家目录,.ssh是其中的一个目录。默认情况下,命令生成的公钥和私钥将保存在这个目录中。

      在生成秘钥前可以考虑指定密钥保存的路径到更常见的位置,该路径需要跟 zabbix server 配置中的 SSHKeyLocation 保持一致.

      如果已经根据安装部分手动添加了zabbix账号,这些步骤可以跳过。因为在这种情况下,很可能主目录已经位于/home/zabbix

      要更改 zabbix 用户的设置,必须先停止zabbix所有的进程:

      # service zabbix-agent stop # service zabbix-server stop

      要更改和移动一个已存在的目录应该执行以下命令:

      1. # usermod -m -d /home/zabbix zabbix

      在旧版本中不存在zabbix根目录,需要手动创建,可以执行以下命令:

      为了保证安全,可以执行以下命令以设置跟目录的权限:

      1. # chown zabbix:zabbix /home/zabbix
      2. # chmod 700 /home/zabbix

      当前进程如果是停止的,可以立即启动:

      1. # service zabbix-server start

      生成公钥和私钥的命令和步骤如下:

      ssh-keygen命令和SSH服务可能支持“rsa”以外的密钥类型,但Zabbix使用的libssh2可能不支持.

      Shell 配置表单

      对于每一个将被SSH监控的主机。这个步骤应该只执行一次。

      通过下面的命令,公钥文件可以安装在远程主机10.10.10.10上,这样就可以使用root帐户执行SSH检查:

      1. # sudo -u zabbix ssh-copy-id [email protected]
      2. RSA key fingerprint is 38:ba:f2:a4:b5:d9:8f:52:00:09:f7:1f:75:cc:0b:46.
      3. Warning: Permanently added '10.10.10.10' (RSA) to the list of known hosts.
      4. [email protected]'s password:
      5. Now try logging into the machine, with "ssh '[email protected]'", and check in:
      6. .ssh/authorized_keys

      现在zabbix 用户可以使用默认私钥(/home/zabbix/.ssh/id_rsa) ,对目标主机进行SSH免密登录检查

      1. # sudo -u zabbix ssh [email protected]

      如果登录成功,表示shell中的配置部分已经完成,可以关闭远程SSH会话。

      监控项配置

      要执行的命令必须放在监控项配置中的“执行的脚本”字段中。

      通过将多个命令放在一行上,可以遍历执行多个命令。在这种情况下,返回的值也将被格式化为多行。

      所有必填字段都标有红色星号。

      libssh2 库可能会将可执行脚本截断为~32kB.