Wordpress SFTP 自動更新の問題

Wordpress SFTP 自動更新の問題

WordPressとsshで問題が発生しました。基本的には、SFTP経由でWordpressの自動更新を有効にしようとしています。DigitalOcean.comのこのスレッドというユーザーがいますwpftp

sudoer としてサーバーに SSH 接続し、そのユーザーとしてサーバーにログインしてlogin wpftp、パスワードを入力しました。次に、 を実行しssh-keygen -t rsa -b 4096、ましたexit

chown -R wpftp:www-data .ssh/ sudoユーザーに戻りchmod 0640 .ssh/*chmod 0700 .ssh

ls -lah.sshフォルダに対して次の情報が得られます

drwx------ 2 wpftp www-data 4.0K Jan 14 09:00 .ssh

これまでのところ良さそうです…

cd .ssh/
cp id_rsa.pub authorized_keys
chown wpftp:www-data *

次のような結果が出た

-rw-r----- 1 wpftp www-data  747 Jan 14 09:04 authorized_keys
-rw-r----- 1 wpftp www-data 3.2K Jan 14 09:00 id_rsa
-rw-r----- 1 wpftp www-data  747 Jan 14 09:00 id_rsa.pub

冒頭from="127.0.0.1"に追加authorized_keys

wp-config.phpに以下を追加しました

define('FTP_PUBKEY','/home/wpftp/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/wpftp/.ssh/id_rsa');
define('FTP_USER','wpftp');
define('FTP_PASS','');
define('FTP_HOST','127.0.0.1:22');

試してみた別の設定もありましたが、これも機能しませんでした

define('FS_METHOD', 'ssh2');
define('FTP_BASE', '/usr/share/nginx/wordpress');
define('FTP_CONTENT_DIR', '/usr/share/nginx/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/share/nginx/wordpress/wp-content/plugins/');
define('FTP_PUBKEY', '/home/wpftp/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/wpftp/.ssh/id_rsa');
define('FTP_USER', 'wpftp');
define('FTP_PASS', '');
define('FTP_HOST', '127.0.0.1:22');
define('FTP_SSL', true);

WordPress 管理パネルで次のエラーが表示されます:

Public and Private keys incorrect for wpftp

見る/var/log/auth.logとこう書いてある

Jan 14 09:09:17 localhost sshd[18313]: Received disconnect from 127.0.0.1: 11: PECL/ssh2 (http://pecl.php.net/packages/ssh2) [preauth]
Jan 14 09:09:20 localhost sshd[18315]: Received disconnect from 127.0.0.1: 11: PECL/ssh2 (http://pecl.php.net/packages/ssh2) [preauth]
Jan 14 09:09:48 localhost sshd[18318]: Received disconnect from 127.0.0.1: 11: PECL/ssh2 (http://pecl.php.net/packages/ssh2) [preauth]

次に、よくある問題について説明しました。上記の記事

1. 公開鍵、秘密鍵、およびそれらが含まれるディレクトリに対する不適切な権限。

/home/wpftp/.ssh/# ls -lah | grep .ssh
drwx------ 2 wpftp www-data 4.0K Jan 14 09:04 .ssh

/home/wpftp/.ssh/# cd .ssh
/home/wpftp/.ssh/# ls -lah
-rw-r----- 1 wpftp www-data  764 Jan 14 09:06 authorized_keys
-rw-r----- 1 wpftp www-data 3.2K Jan 14 09:00 id_rsa
-rw-r----- 1 wpftp www-data  747 Jan 14 09:00 id_rsa.pub

nginxユーザーも確認しました

# ps aux | grep nginx
root     nginx: master process /usr/sbin/nginx
www-data  nginx: worker process
www-data nginx: worker process

#ps aux | grep php
root     18274  0.0  0.1 253360  5476 ?        Ss   09:07   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)      
www-data php-fpm: pool www                                         
www-data php-fpm: pool www                                         
www-data php-fpm: pool www  
(several more pools follow)

php5-fpmエラーログも確認しましたがnginx、何も表示されませんでした

不適切なファイルフォーマット。公開キーまたは秘密キーのフォーマットに問題がある場合、WordPress はキーを拒否し、使用を拒否します。~/.ssh/authorized_keys ファイルについても同様です。 id_dsa.pub をチェックしましたが、問題ありませんでしたssh wpftp@localhost。問題なくログインできました…

この問題は、エラーが説明的でないため、非常にイライラしています。いくつかのスレッドをチェックし、修正を適用しようとしましたが、効果はありませんでした。apt-get install を使用して ssh2 ライブラリをインストールしました...何かご意見はありますか?

私が確認した他の参考資料:

Wordpress SSH アップグレードの問題

http://wordpress.org/support/topic/private-key-incorrect-for-user-error

http://wordpress.org/support/topic/private-key-incorrect-for-wordpress

http://chocotech.blogspot.com/2013/02/update-wordpress-by-using-ssh2-sftp.html

答え1

SFTP を使用する理由は何ですか?

WordPress に書き込み権限を与えると解決します。

Nginxを使っているとおっしゃるなら、

chown -r nginx:nginx /var/www/html

交換する/var/www/htmlあなたのサイトディレクトリパスを設定すると、WordPress が自動的に更新されます。

関連情報