通过SSH让WordPress后台自动更新

    WordPress       views    9 comments

不管出于什么原因,我就是不想开启服务器上的FTP,但是WordPress后台的更新默认是通过FTP来实现的,每次版本、插件的升级都要登陆命令行来wget一下,这样又觉得实在是很麻烦。所以在网上找了一圈,终于找到了让WordPress后台更新通过SSH来进行。

WordPress Update

我的服务器是运行在debian上的lamp,基本配置,没有什么特殊的东西,也没有安装FTP服务,通过修改wp-config.php这个文件里的一些配置就能可以了:

define('FS_METHOD', 'direct'); // 'ssh' is also an option, but did not work for my setup
define('FTP_BASE', '/opt/local/nginx/html/domain.com/');
define('FTP_CONTENT_DIR', '/opt/local/nginx/html/domain.com/wp-content/');
define('FTP_PLUGIN_DIR ', '/opt/local/nginx/html/domain.com/wp-content/plugins/');
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'username');
define('FTP_HOST', 'your-domain.com:22');

为了安全建议大家都使用证书来登陆,如果不使用证书,就添加这一行:(但是你要确定你的SSH配置支持无证书登陆!)

define('FTP_PASS', 'password');

还需要一个ssh配对公钥和密钥(public/private key),运行下边这个命令来获取:(为了服务器的安全,不要泄漏这两个文件哟!)

ssh-keygen

执行命令的时候会问你一些问题,例如保存在哪里什么的,注意看一下吧!

如果你之前已经配置了SSH的密钥,那就可以用之前的配置,如果没有配置的话,需要到/etc/ssh里去修改一下。关于SSH的证书配置就不多说了,不懂杜问度娘。

EDITOR: 潇洒哥; TAGS:

DISCUSSION

  

(So you agree with the rules)

9 COMMENTS RSS for this discussion.

小明 Posted in September 5, 2013 Thursday 22:53

没有成功,需要php-ssh2,而且执行权限也有问题!还是乖乖用ftp吧!

69devil Posted in March 21, 2015 Saturday 22:32

非常好用!感谢博主!

callblueday Posted in March 21, 2015 Saturday 23:54

想问一下,这样配置以后,wordpress如果有更新,是完全不经过管理员的确认,就直接更新了吗?

callblueday Posted in March 22, 2015 Sunday 00:11

是不是不太安全?

最励志网 Posted in August 3, 2015 Monday 16:31

路过,留个脚印,网站很棒!

内涵笑话 Posted in October 1, 2015 Thursday 12:58

好久没来了,过来转转

凌薇 Posted in December 4, 2015 Friday 23:22

好贴,双手赞成!

美国亚马逊 Posted in March 1, 2016 Tuesday 04:44

[书呆子] 路过,留个脚印,网站很棒!