Je ne pouvant quand même pas en rester là alors je viens de regarder.
Dans un billet précédent, j'avais expliqué comme j'avais mis en place l'OTP grâce à PAM.
Vu que là, ça passait direct, je l'ai tout de suite soupçonné celui-là et j'ai eu raison.
Ma configuration était la suivante :

#
# PAM configuration for the "sshd" service
#

# auth
auth            sufficient      pam_opie.so             no_warn
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            sufficient         pam_unix.so             no_warn try_first_pass
#auth           sufficient      pam_krb5.so             no_warn try_first_pass
#auth           sufficient      pam_ssh.so              no_warn try_first_pass
#Mis en place de l'OTP en seconde passe
#auth           required        pam_unix.so             no_warn try_first_pass

Comme vous pouvez le voir, j'avais mis des commentaires...Inutiles.
Alors un peu d'explication ne fait pas de mal.
Tout ça veut dire que l'on commence par OPIE, si cela échoue, on passe par opieaccess qui détient une liste des hôtes autorisés à ce connecter sans passer par OPIE. Cette dernière configuration est intéressante car elle permet de se connecter depuis les réseaux locaux avec ce qui suit et mais aux réseaux autres[1]. La dernière ligne dit simplement que l'on utilise le mot de passe unix classique... Mais l'astuce vient de sufficient.
Comme documenté sur la page de FreeBSD qui va bien, si ça marche, on s'arrête et hop, on est connecté. Par contre, si ça foire, on continue, en l'occurrence, vers rien.
Et là, ça a marché !!!!
En effet, en sufficient, si le module a foiré, il est ignoré. On a donc pam_opie qui foire, pam_opieaccess qui réussit et pam_unix qui foire. Résultat, tous les modules non optionnels ont réussi et donc on est autorisé !!
Du coup, en relisant bien la page sus-citée, j'ai pu lire que, quand c'est la dernière option, il vaut mieux utiliser :

auth            binding         pam_unix.so             no_warn try_first_pass

Donc comme dirait Dora l'exploratrice:

Allons-y let's go, c'est parti les amis !!

Et ben, voilà, ça a marché et c'est logique !!

Décidemment, FreeBSD c'est trop fort :D

Notes

[1] En clair, le grand Ternet