Clés publiques et privées incorrectes pour les utilisateurs

J'ai suivi ce tutoriel (qui a fonctionné pour moi sur plusieurs VPS) pour configurer un moyen sécurisé d'installer et de mettre à jour des thèmes et des plugins dans WordPress. En gros:

sudo adduser wp-user cd /var/www sudo chown -R wp-user:wp-user /var/www/ sudo su - wp-user ssh-keygen -t rsa -b 4096 exit sudo chown wp-user:www-data /home/wp-user/wp_rsa* sudo chmod 0640 /home/wp-user/wp_rsa* sudo mkdir /home/wp-user/.ssh sudo chown wp-user:wp-user /home/wp-user/.ssh/ sudo chmod 0700 /home/wp-user/.ssh/ sudo cp /home/wp-user/wp_rsa.pub /home/wp-user/.ssh/authorized_keys sudo chown wp-user:wp-user /home/wp-user/.ssh/authorized_keys sudo chmod 0644 /home/wp-user/.ssh/authorized_keys sudo nano /home/wp-user/.ssh/authorized_keys 

De = "127.0.0.1" ssh-rsa …

 sudo apt-get update sudo apt-get install php5-dev libssh2-1-dev libssh2-php sudo nano /var/www/wp-config.php 

Ajouter:

 define('FTP_PUBKEY','/home/wp-user/wp_rsa.pub'); define('FTP_PRIKEY','/home/wp-user/wp_rsa'); define('FTP_USER','wp-user'); define('FTP_PASS',''); define('FTP_HOST','127.0.0.1:22'); 

Et enfin:

 sudo service apache2 restart 

Pour une raison quelconque, je reçois le message:

Clés publiques et privées incorrectes pour wp-user

À la recherche d'une réponse, j'ai vu cette question , mais aucune des réponses n'a été utile pour moi.

Tout d'abord, je place les fichiers dans /home/wp-user directory, mais /home/wp-user/.ssh également essayé dans /home/wp-user/.ssh . C'est ce que j'ai en ce moment:

 ls -la /home/wp-user/.ssh drwx------ 2 wp-user wp-user 4096 Mar 1 15:02 . drwxr-xr-x 3 wp-user wp-user 4096 Mar 1 14:58 .. -rw-r--r-- 1 wp-user wp-user 742 Mar 1 15:02 authorized_keys -rw-r----- 1 wp-user www-data 3247 Mar 1 14:58 wp_rsa -rw-r----- 1 wp-user www-data 742 Mar 1 14:58 wp_rsa.pub 

Et:

 define('FTP_PUBKEY','/home/wp-user/.ssh/wp_rsa.pub'); define('FTP_PRIKEY','/home/wp-user/.ssh/wp_rsa'); define('FTP_USER','wp-user'); define('FTP_PASS',''); define('FTP_HOST','127.0.0.1:miCustomPortForSSH'); 

Je peux voir cette sortie sur auth.log chaque fois que j'essaie de me connecter:

 Mar 1 14:37:51 vpsxxxx sshd[2430]: Set /proc/self/oom_score_adj to -800 Mar 1 14:37:51 vpsxxxx sshd[2430]: Connection from 127.0.0.1 port 56103 Mar 1 14:37:51 vpsxxxx sshd[2430]: Received disconnect from 127.0.0.1: 11: PECL/ssh2 (http://pecl.php.net/packages/ssh2) [preauth] 

Avec un port différent à chaque fois:

 Mar 1 14:38:16 vpsxxxx sshd[2435]: Set /proc/self/oom_score_adj to -800 Mar 1 14:38:16 vpsxxxx sshd[2435]: Connection from 127.0.0.1 port 56128 Mar 1 14:38:16 vpsxxxx sshd[2435]: Received disconnect from 127.0.0.1: 11: PECL/ssh2 (http://pecl.php.net/packages/ssh2) [preauth] 

J'utilise Apache2 et Nginx comme serveur proxy, mais les fichiers journaux ne révèlent rien. Une idée?

Il semble que la clé privée soit trop ouverte car elle est lisible en groupe. Essayez de supprimer les autorisations de lecture de groupe

 chmod gr wp_rsa 

Et voir comment cela se passe.

La première affiche est à moitié droite. SSH rejettera votre clé privée si elle est lisible par autre chose que le groupe de propriétaires. Cependant, si l'utilisateur wp est le propriétaire et que seul le propriétaire peut lire la clé privée, le serveur ne peut pas le lire et vous ne pouvez pas utiliser l'interface Web. Par conséquent, vous devez changer le propriétaire sur le public d'une clé privée. Voilà comment vous corrigez ceci.

 sudo chown www-data:www-data /home/wp-user/wp_rsa* sudo chmod 600 /home/wp-user/wp_rsa 

En défense de l'auteur de la publication que vous avez suivie, cette publication a été écrite pour Ubuntu 12.04 et je sais que dans mon cas, j'ai une installation 14.04.

En outre, l'installation des bibliothèques supplémentaires et les modifications apportées au fichier wp-config.php sont inutiles sur Ubuntu 14.04 et WordPress v4.2.2 juste FYI.

Si vous utilisez la directive open_basedir php_admin_value , les clés doivent être dans un répertoire inclus dans les chemins répertoriés.

J'ai rencontré le même message d'erreur. @Manolo n'utilisait pas une phrase de passe dans la question initiale, mais j'étais. J'ai pu le faire fonctionner après avoir généré des clés ssh sans phrase secrète.

Selon https://codex.wordpress.org/Editing_wp-config.php#Enabling_SSH_Upgrade_Access "Il est recommandé d'utiliser une clé privée qui n'est pas protégée contre les mots de passe. Il y a eu de nombreux rapports selon lesquels les clés privées protégées par des mots de passe ne fonctionnent pas correctement."