Назад | Перейти на главную страницу

Несоответствие общих ключей td-agent между серверами

Я пытаюсь установить зашифрованные журналы с td-agent между двумя машинами. Я следил за примерами из официальной документации fluentd, но попал в очень странную ситуацию. Клиент и сервер отказываются вести переговоры из-за несоответствия shared_key.

Ключевая фраза верна на обоих серверах, однако и клиент, и сервер заявляют, что ключи не совпадают.

Вот конфигурация клиента (текст опущен):

<match uwsgi.**>
 type copy
<store>
    type secure_forward
    shared_key hello  
    send_timeout 30s
    self_hostname client.example.net

    <server>

            name server.example.net
            host server.example.net
            port 24225
    </server>
</store> 
</match>

А вот конфиг сервера:

<source>
  type secure_forward
  shared_key    hello
  self_hostname server.example.net
  bind 0.0.0.0
  port 24225
  secure true
  ca_cert_path /etc/td-agent/mycert.crt
  ca_private_key_path /etc/td-agent/mykey.key
  ca_private_key_passphrase ""

Я продолжаю получать эти сообщения об ошибках с сервера:

Shared key mismatch from 'client.example.net'

То же от клиента:

[warn]: dead connection found: server.example.net, reconnecting...  
[warn]: connection refused to server.example.net:authentication failed: shared_key mismatch

Любые идеи?

Оказывается, плагин secure_forward td-agent имел разные версии.

Более подробно, последняя версия соответствующего плагина (0.4.5) m «добавляет» к паролю «одноразовый номер», а предыдущая версия - нет. Таким образом, у одного пароля получается другая сумма.

Два решения:
1. Обновите плагин secure_forward на обоих концах.
2. Удалите из кода дайджест-процедуру.