9 SSH检查
概述
要执行SSH检查,Zabbix服务器必须首先 SSH2支持(libssh2或libssh)。参考:要求。
从RHEL8/CentOS8开始只支持libssh.
配置
密码验证
SSH 检查提供两种身份验证方法,用户/密码对和基于密钥文件。
如果您正在构建从源码Zabbix,且不打算使用密钥文件,除了将 libssh2/libssh 链接到 Zabbix,无需额外配置。
密钥文件认证
SSH监控项基于密钥的身份验证,需要对服务器配置进行某些更改。
使用身份打开 Zabbix 服务器配置文件(zabbix_server.conf) 并查找以下行:
取消注释,配置公钥和私钥所在文件夹的完整路径,样例如下:
保存文件并重启 zabbix_server 服务。
这里的 /home/zabbix 是 zabbix 用户的家目录,.ssh是其中的一个目录。默认情况下,命令生成的公钥和私钥将保存在这个目录中。
在生成秘钥前可以考虑指定密钥保存的路径到更常见的位置,该路径需要跟 zabbix server 配置中的 SSHKeyLocation 保持一致.
如果已经根据安装部分手动添加了zabbix账号,这些步骤可以跳过。因为在这种情况下,很可能主目录已经位于/home/zabbix。
要更改 zabbix 用户的设置,必须先停止zabbix所有的进程:
# service zabbix-agent stop # service zabbix-server stop
要更改和移动一个已存在的目录应该执行以下命令:
# usermod -m -d /home/zabbix zabbix
在旧版本中不存在zabbix根目录,需要手动创建,可以执行以下命令:
为了保证安全,可以执行以下命令以设置跟目录的权限:
# chown zabbix:zabbix /home/zabbix
# chmod 700 /home/zabbix
当前进程如果是停止的,可以立即启动:
# service zabbix-server start
生成公钥和私钥的命令和步骤如下:
ssh-keygen命令和SSH服务可能支持“rsa”以外的密钥类型,但Zabbix使用的libssh2可能不支持.
Shell 配置表单
对于每一个将被SSH监控的主机。这个步骤应该只执行一次。
通过下面的命令,公钥文件可以安装在远程主机10.10.10.10上,这样就可以使用root帐户执行SSH检查:
# sudo -u zabbix ssh-copy-id [email protected]
RSA key fingerprint is 38:ba:f2:a4:b5:d9:8f:52:00:09:f7:1f:75:cc:0b:46.
Warning: Permanently added '10.10.10.10' (RSA) to the list of known hosts.
[email protected]'s password:
Now try logging into the machine, with "ssh '[email protected]'", and check in:
.ssh/authorized_keys
现在zabbix 用户可以使用默认私钥(/home/zabbix/.ssh/id_rsa) ,对目标主机进行SSH免密登录检查
# sudo -u zabbix ssh [email protected]
如果登录成功,表示shell中的配置部分已经完成,可以关闭远程SSH会话。
监控项配置
要执行的命令必须放在监控项配置中的“执行的脚本”字段中。
通过将多个命令放在一行上,可以遍历执行多个命令。在这种情况下,返回的值也将被格式化为多行。
所有必填字段都标有红色星号。
libssh2 库可能会将可执行脚本截断为~32kB.