Я полагаю, что ваша команда not_if успешно выполняется на вашем хосте, но внутренним результатом является код ошибки.
То есть, ssh работал нормально, смог подключиться, выполнил ваш один лайнер, (которыйпроизошла ошибка), затем ssh успешно завершился, поэтому блок был запущен.
Я бы повторил предложение @ jtimberman (я слышал, что он знает кое-что о шеф-поваре :)) и попытался управлять ключами ssh с помощьюпакеты данных, роли или среды в зависимости от контекста.