Eu tive um problema com o WordPress e o ssh. Essencialmente, estou tentando ativar a atualização automática com o Wordpress em SFTP. Eu segui as instruções em This thead on DigitalOcean.com up Eu tenho um usuário chamado wpftp
.
SSHd no servidor como um sudoer, então eu faço login no servidor como esse usuário usando login wpftp
e digitei a senha. Em seguida, executei ssh-keygen -t rsa -b 4096
e exit
.
De volta como usuário do sudo, eu corri chown -R wpftp:www-data .ssh/
que chmod 0640 .ssh/*
que chmod 0700 .ssh
ls -lah
me dá o seguinte para .ssh
folder
drwx------ 2 wpftp www-data 4.0K Jan 14 09:00 .ssh
parece bom até agora…
cd .ssh/
cp id_rsa.pub authorized_keys
chown wpftp:www-data *
me dá o seguinte
-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
Adicionada from="127.0.0.1"
ao authorized_keys
no início
Colocou o seguinte em 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');
Eu também tive uma configuração alternativa que eu tentei, também não funcionou
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);
Estou recebendo o seguinte erro no painel de administração do wordpress:
Public and Private keys incorrect for wpftp
Eu olho para /var/log/auth.log
e diz
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]
Eu passei pelos problemas comuns no artigo mencionado acima
1. Permissões impróprias na chave pública, chave privada e nos diretórios que as contêm.
/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
Eu também verifiquei o usuário 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)
Também verifiquei os logs de erro php5-fpm
e nginx
, nada aparece lá
Formatação incorreta de arquivos. Se sua chave pública ou privada tiver problemas de formatação, o WordPress rejeitará a chave e se recusará a usá-la. O mesmo vale para o arquivo ~ / .ssh / authorized_keys.
Eu verifiquei o id_dsa.pub e foi bom, eu sou capaz de ssh wpftp@localhost
e entrar em nenhum problema ...
Esse problema tem sido bastante frustrante, pois os erros não são descritivos. Eu verifiquei vários tópicos e tentei aplicar as correções, mas sem sucesso. Eu instalei a biblioteca ssh2 com o apt-get install… Alguma idéia?
Outras referências que verifiquei:
Problema de atualização do Wordpress SSH
link
link
link