사용자에 대한 공개 및 개인 키가 올바르지 않습니다.

사용자에 대한 공개 및 개인 키가 올바르지 않습니다.

나는 팔로우했다이 튜토리얼(여러 VPS에서 저에게 효과적이었습니다) Wordpress에서 테마와 플러그인을 설치하고 업데이트하는 안전한 방법을 구성했습니다. 원래:

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

from="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

추가하다:

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');

그리고 마지막으로:

sudo service apache2 restart

어떤 이유로 다음과 같은 메시지가 나타납니다.

wp-user에 대한 공개 및 개인 키가 잘못되었습니다.

답을 찾고 있는데 본 적이 있어요이 질문, 그러나 답변 중 어느 것도 나에게 도움이 되지 않았습니다.

먼저 파일을 디렉토리에 넣었 /home/wp-user지만 /home/wp-user/.ssh. 이것이 내가 지금 가지고 있는 것입니다:

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

그리고:

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');

auth.log연결을 시도할 때마다 다음 출력이 표시됩니다 .

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]

매번 다른 포트로:

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]

Apache2와 Nginx를 프록시 서버로 사용하고 있지만 로그 파일에는 아무 것도 표시되지 않습니다. 어떤 아이디어?

답변1

개인 키는 그룹이 읽을 수 있으므로 너무 개방적인 것 같습니다. 그룹 읽기 권한을 삭제해 보세요.

chmod g-r wp_rsa

어떻게 진행되는지 확인해 보세요.

답변2

당신이 사용하는 경우php_admin_value open_basedir지시문을 사용하려면 키가 나열된 경로에 포함된 디렉터리에 있어야 합니다.

답변3

-m PEM두 개의 Debian 10 서버에서 ssh-keygen에 매개변수를 추가해야 했습니다 .

그렇지 않으면 터미널에서 SSH를 사용할 때 키가 작동했지만 Wordpress에서는 작동하지 않아 로그에 표시된 것과 동일한 연결 해제 메시지가 표시되었습니다. 대신 ssh-keygen -m PEM -t rsa문제없이 작동했습니다.

또한 PHP에서 활성화해야 했습니다 allow_url_fopen = On. 그렇지 않으면 Wordpress에서 wp-content 디렉토리를 찾을 수 없습니다.

답변4

나는 www-data를 소유자로 사용하고 있으며 wp-config.php에 다음 줄을 추가하면 문제가 해결되었습니다.

define( 'FS_METHOD', 'direct' );

관련 정보