Site icon WolwX.net

Zimbra ZCS bug – problème d’accès à la file d’attente (administration)

Petit article mémo pour un bug / problème bien chiant à régler, à savoir celui apparaissant dans l’administration du serveur sur la partie “file d’attente”

Menu latéral => Moniteur => Files d’attente

Le message d’erreur :

Mail : system failure: exception during auth {RemoteManager: zimbra.monnomdedomaine.fr->zimbra@zimbra.monnomdedomaine.fr:22} Code d’erreur : service.FAILURE Method: [unknown] Détails :soap:Receiver

Traduction de ce message, l’administration utilise un protocol d’accès aux stats / information en ce connectant en ssh sur l’utilisateur “zimbra”
La connexion échoue, généralement soit par un soucis de réglage, soit par un problème d’autorisation, soit un soucis de droits de fichier ou encore un soucis d’OS.

Cette page du wiki officiel permet de déboguer =>
https://wiki.zimbra.com/wiki/Mail_Queue_Monitoring

Pour ma part voici ma routine de débogage pour ce soucis :

Vérifier que la connexion fonctionne, pour ce faire on ce connecte sur l’utilisateur zimbra, on va bien dans le dossier adéquat (parfois on n’est pas dans le bon dossier et donc le fichier zimbra_identity n’est pas trouvé) et on utilise la commande ssh en mode bavarde (l’option v) et sur le bon port (pour ceux qui change le port ssh comme moi) :

erreur si on est pas dans le dossier /opt/zimbra avec l’utilisateur zimbra

Warning: Identity file .ssh/zimbra_identity not accessible: Permission denied.

Donc voici comment procéder correctement :

# su zimbra
# cd /opt/zimbra
# ssh -p 22 -vi .ssh/zimbra_identity -o strictHostKeyChecking=no zimbra@mondehost.fr

Attention on saisie “zimbra@nomdehost.fr” c’est à dire le nom du serveur mail et non pas le nom de domaine.

Voici l’output de ma commande :

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to nomdehost.fr [168.168.168.168] port 22.
debug1: Connection established.
debug1: identity file .ssh/zimbra_identity type 1
debug1: identity file .ssh/zimbra_identity-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.11
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.11
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.11 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com none
debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<3072<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
debug1: checking without port identifier
debug1: Host 'nomdehost.fr' is known and matches the ED25519 host key.
debug1: Found key in /opt/zimbra/.ssh/known_hosts:1
debug1: found matching key w/out port
debug1: ssh_ed25519_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: .ssh/zimbra_identity
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
Authenticated to nomdehost.fr ([168.168.168.168]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Remote: Forced command.
debug1: Remote: Forced command.
debug1: Sending environment.
debug1: Sending env LANG = fr_FR.UTF-8

Si les infos défile et reste sur une ligne en attente c’est bien que la connexion est reconnue et que tout est ok en principe.

Attention pour les utilisateurs changeant le port SSH par défaut, voici la commande à lancer un utilisateur zimbra :

# su zimbra
# zmprov ms `zmhostname` zimbraRemoteManagementPort 2213

 

Parfois la connexion nécessite un mot de passe, c’est qu’il y à un soucis avec l’authentification de l’utilisateur zimbra.
Il est alors important de vérifiez que la clé publique mise dans le fichier /opt/zimbra/.ssh/authorized_keys soit la bonne.

Pour cette vérification :

Affichez le fichier /opt/zimbra/.ssh/zimbra_identity.pub

# cat /opt/zimbra/.ssh/zimbra_identity.pub

Comparer dans le fichier /opt/zimbra/.ssh/authorized_keys a la suite de :
command=”/opt/zimbra/libexec/zmrcd”

# cat /opt/zimbra/.ssh/authorized_keys

Si les clefs ne correspondent pas il suffit de régénérer une nouvelle clef :

# zmcontrol stop
# zmsshkeygen

Generating public/private rsa key pair.
Your identification has been saved in /opt/zimbra/.ssh/zimbra_identity.
Your public key has been saved in /opt/zimbra/.ssh/zimbra_identity.pub.
The key fingerprint is:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx nomdehost.fr
The key's randomart image is:
+--[ RSA 2048]----+
| . +.. |
| o + o o |
| o. o + . |
| * o * o |
| + . o + o . |
| . + . o + |
| + . o |
| o . . o |
| S . S |
+-----------------+

# zmupdateauthkeys

Updating keys for nomdehost.fr
Fetching key for nomdehost.fr
Updating keys for nomdehost.fr
Updating /opt/zimbra/.ssh/authorized_keys

# zmcontrol restart

En principe la file d’attente devrait être de nouveau accessible 🙂

 

On peut aussi rencontrer un soucis de droits de fichiers de ce genre :

# ssh -p 22 -vi .ssh/zimbra_identity -o strictHostKeyChecking=no zimbra@mondehost.fr
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'zimbra_identity' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: zimbra_identity

Pour régler le soucis, il suffit de bien remettre les droits de fichiers sur zimbra_identity.

On peut tenter la commande suivante en root :

# sudo /opt/zimbra/libexec/zmfixperms --verbose --extended

Si ce n’est toujours pas bon voici les bons droits à appliquer sur chaques fichiers :

# chown -R zimbra:zimbra /opt/zimbra/.ssh
# chmod 644 /opt/zimbra/.ssh/authorized_keys
# chmod 644 /opt/zimbra/.ssh/known_hosts
# chmod 600 /opt/zimbra/.ssh/zimbra_identity
# chmod 640 /opt/zimbra/.ssh/zimbra_identity.pub

 

Quitter la version mobile