If a ssh server responds like this:
# telnet host.tld 22
Connected to host.tld.
Escape character is '^]'.
This computer resource is the property of Company. Authorized persons
may use Company computer resources only for approved purposes. Misuse
or misappropriation of company networks and systems is prohibited.
Company reserves the right to audit, access and inspect electronic
communications and data created, stored, or transmitted on its computer
resources in accordance with applicable law. Company also reserves
the right to add necessary files and modify the configuration of any
connected computer or system to ensure the security and integrity of
its computer resources.
BY COMPLETING THE LOGIN PROCESS YOU ARE ACKNOWLEDGING AND CONSENTING TO
THE PROVISIONS OF THIS NOTICE. IF YOU ARE NOT AN
AUTHORIZED USER, PLEASE DISCONTINUE THE LOGIN PROCESS NOW.
then "net.tcp.service[ssh] key" returns 0 as value, which is wrong.
In "check_ssh" zabbix function we see that zabbix supposes that response should start from "SSH" character.
My debian host responds with only one line: "SSH-2.0-OpenSSH_6.6p1 Debian-3" and the key works correctly on it.