WordPressdoes 支持通过内置更新程序系统使用SSH(又名SFTP)建立连接。大约6年前,它在2.7版中获得了这种支持。参考号:https://core.trac.wordpress.org/ticket/7690
如果您没有在正常的“凭据”屏幕中看到它,那么这是因为您的PHP安装缺少必要的支持。WordPress不能说“ssh”,但如果该扩展可用,它可以使用PHP“ssh2”扩展来实现。
在WordPress中使用SSH有两个先决条件。
首先,PHP安装必须加载或以其他方式编译ssh2扩展。如果没有,您可以通过pecl获取。在某些情况下,如果主机不支持PHP,可能需要重新编译PHP或使用自定义PHP。大多数人看不到,这就是为什么默认情况下你看不到它。
其次stream_get_contents
功能必须可用。通常是这样,但在某些主机上,可能不存在这种情况。首先检查。内置代码也会检查这两个选项,因此如果它们不可用,那么它将无法通过检查,并且您无法获得ssh选项。
如果这两种情况都正确,则正常连接屏幕应自动为您显示一些新字段。这包括一个“SSH2”选项,以及用于向公钥和私钥对输入路径的字段。
与FTP方法非常相似,如果愿意,您可以每次都输入此信息,但只需在wp配置文件中设置一些常量就容易多了。
常量如下所示:
define(\'FTP_PUBKEY\',\'/home/user/.ssh/public-key-file\');
define(\'FTP_PRIKEY\',\'/home/user/.ssh/private-key-file\');
define(\'FTP_USER\',\'user\');
define(\'FTP_PASS\',\'passphrase\');
define(\'FTP_HOST\',\'domain.com\');
这样做的方法是生成一个新的ssh密钥对,专门供WordPress使用。公钥和私钥对应该存储在服务器的某个位置,以便WordPress能够读取它们。私钥可以通过WordPress需要知道的密码短语进行加密。需要将公钥添加到您帐户的“authorized\\u keys”文件中。
所有这些就绪后,WordPress将读取私钥,并使用该密钥以指定用户名连接到主机名。然后,除了通过SSH连接之外,它的行为与使用普通FTP的行为基本相同。