开发人员使用SSH(安全连接服务器)指南

开发人员使用SSH

学习如何使用 SSH 访问 WordPress 网站可能是你从未考虑过的事情。对于大多数WordPress用户来说,最熟悉的连接方式是通过 WordPress 仪表盘和管理界面,再结合 SFTPphpMyAdmin 来访问数据库。

不过,SSH 可能会成为 WordPress 工具带中最有价值的工具之一。

如果你想加快工作流程,学习如何使用 SSH 连接 WordPress 网站会让你更有效率。

在本篇文章中,我们将向你展示如何做到这一点。

什么是 SSH?

首先,我们先来了解一下 SSH 是什么,以及什么时候可以使用它。

SSH 的意思是 “安全外壳”。SSH 规范将其定义为

一种通过不安全网络进行安全远程登录和其他安全网络服务的协议。

这意味着只要您有登录凭证,就可以使用它从任何计算机远程访问您的 WordPress 网站,无论网站托管在哪里。使用这种方法本质上是安全的。

SSH 的设计旨在提供安全登录,所以你可以放心,在你使用它时,没有人能访问你的连接。一旦掌握了窍门,使用起来也非常方便快捷。如果你想与 WordPress REST API 进行交互,这也是发送命令的一种方式。要通过 SSH 连接到服务器,你需要两样东西:

  • 一个接口。
  • 登录凭证。

如果你运行的是 Linux 或 macOS,你的操作系统中已经内置了接口,所以你不需要安装 SSH 客户端。但如果你运行的是 Windows,就需要安装客户端。我将在这篇文章中为你演示如何安装。

通过 SSH 连接网站所需的工具

首先,你需要使用终端或 SSH 客户端。它们的工作方式非常相似。

通过 macOS 或 Linux 上的终端连接

终端是 Linux 或 macOS 自带的应用程序,允许你使用命令行发送命令到你的机器或远程服务器。

它不是图形界面,所以你不用鼠标。相反,你需要键入文本命令。对于初次使用的用户来说,这可能会有点令人不安,因为你可能习惯于看到命令的可视化表示。但一旦习惯了,你就会发现它更快捷。

如果你在图形用户界面出现之前使用过电脑,使用过微软的 MS-DOS 等系统,你可能对这种界面并不陌生。好消息是,终端为你提供了比 MS-DOS 更多的选项!

要在 Mac 上打开终端,请打开 Spotlight 并输入终端。你也可以通过 “应用程序“>”实用工具” 来访问它。

在 Mac 上查找终端

在 Mac 上查找终端

要在 Linux 上打开 Terminal,请在 “Applications(应用程序)” 菜单中找到它。如果不是很明显,可在提示符下输入 Terminal 查找。

在 Windows 上通过 SSH 客户端连接SSH

客户端是运行 Windows 时需要安装的程序,以便通过 SSH 进行连接。

最流行的 SSH 客户端是 PuTTY。在从 Windows 访问网站之前,你需要下载并安装它。

下载 PuTTY

下载 PuTTY

在 Windows 上安装 Putty SSH 客户端

首先进入 PuTTY 下载页面

PuTTY 下载页面

PuTTY 下载页面

在这里,选择与你的 Windows 版本相对应的软件包。如果不确定是下载 32 位版本还是 64 位版本,请查看常见问题页面。如果有疑问,32 位版本是更安全的选择。

点击 MSI(’Windows Installer’)下的两个选项之一。文件会下载到你的电脑,然后运行安装程序。

PuTTY 安装完成后,打开它,然后就可以用它连接到你的网站了。

如何通过命令行连接服务器

找到或安装好终端或 SSH 客户端后,下一步就是连接到远程站点。

在终端或 SSH 客户端中,你可以使用命令行连接并向服务器发送命令。从现在起,我将使用这个术语,而不是指终端或 SSH 客户端。

为此,你需要四条信息:

  • 服务器地址。
  • 用户名。
  • 密码。
  • 端口。

服务器地址通常是您的域名或 IP 地址。

用户名和密码是您的 FTP 用户名和密码,而不是 WordPress 管理员的用户名和密码

端口由主机提供商提供。有时会使用默认端口,但为了提高安全性,也可能使用不同的端口。

只需复制并粘贴到命令行中即可。

完成后,系统会提示您输入密码。复制张贴服务器密码,然后就可以访问服务器了。

你会看到一个类似下面这样的界面:

SSH 启动屏幕

SSH 启动屏幕

如何使用 SSH 与网站互动

现在你可以开始使用 SSH 与服务器和网站交互了。你可以使用许多 SSH 命令以及 WordPress 命令行界面(WP-CLI)提供的命令。

注:SSH 是一个非常强大的工具,稍有不慎,就可能会破坏你的网站。它可以让你添加和删除文件,所以如果你输入了错误的命令,你可能会丢失内容或删除所有图片等。请务必谨慎使用,并确保在使用前备份网站

SSH 基本命令

SSH 自带一系列命令,你可以用它们连接服务器并与之交互。

通过命令行进入服务器后,你只需像使用终端与自己的电脑交互一样输入 SSH 命令即可。

让我们来看看你可以开始使用的一些最有用的 SSH 命令。

ls 命令

使用 ls 命令获取当前位置的文件和目录列表。你可以在命令中添加更多内容,以获取更多信息:

  •  ls -l 显示文件的详细信息,如大小、修改日期和时间、所有者和权限。
  •  ls -a 显示隐藏的文件和目录。

ls 命令

ls 命令

cd 命令

使用 cd 命令更改目录。你会被带到新的目录,命令行会显示你所在的位置:

cd 命令

cd 命令

然后,你可以再次使用 ls 查找新目录中的内容。

您可以使用 cd 下移多个目录,也可以向上或跨目录移动。向上移动时,在 cd 后面输入两个点,如下所示:

cd ..

要转到特定目录,请键入完整的目录路径,例如

cd public/wp-content/themes

mkdir 命令

使用 mkdir 命令创建新目录。因此,如果我在主题目录下,就可以为新主题创建一个新目录:

mkdir mytheme

touch 命令

创建新目录后,我可以使用 touch 命令向其中添加新文件:

touch style.css

cat 命令

要显示文件内容,请使用 cat 命令。

cat 命令

cat 命令

rm 命令

使用 rm 命令删除文件或文件夹。请慎重使用,因为这是无法撤销的:

rm style.css

cp 命令

cp 命令用于复制文件和文件夹。您需要提供文件或文件夹的名称以及要复制它的位置。

cp [options] [source] [destination]

你也可以在命令开头添加选项,但不必这样做。因此,如果要在 wp-content 目录下将 footer.php 文件从一个主题复制到另一个主题,可以使用下面的命令:

cp /themes/theme1/footer.php /themes/theme2/

不要为目标文件添加名称。如果添加了文件名,而目的地已经有一个该文件名的文件,那么该文件将被复制的文件内容覆盖。

如果你没有在引爆中包含文件名,而该文件已经存在,那么你将收到一条错误信息,复制将不会进行。

我已经提到过,你可以在这条命令的开头添加一些可选元素。它们是:

  • -f:如果没有目标文件的写入权限,该文件将被删除,命令将创建一个新文件。
  • -u:只复制比目标文件新的源文件。
  • -n:不会覆盖现有文件。
  • -a:将文件存档。
  • -R:仅用于文件夹,复制该文件夹内的所有文件和文件夹。

mv 命令

除了复制文件,还可以使用 mv 命令移动文件。只需提供源文件和目标文件即可:没有任何选项。

mv /themes/theme1/footer.php /themes/theme2/

这将删除主题 1 中的 footer.php 文件,并将其移动到主题 2 中。如果对文件夹执行此操作,也会移动该目录下的文件和文件夹。

有关更多 SSH 命令的信息,请参阅 SSH 文档

使用 WP-CLI 与网站互动

除了标准的 SSH 命令外,WordPress 还为您提供了 WP-CLI 界面,它提供了更多的命令。这包括与文件和文件夹、管理选项和数据库的交互。

使用 Kinsta,WP-CLI 随主机一起提供,您可以立即开始使用。如果你的主机提供商没有为你提供 WP-CLI,你可以按照本 WP-CLI 指南中的步骤进行安装。

测试 SSH 连接并排除故障

有时,你可能会发现 SSH 并没有按照你想要的方式运行。要么是无法连接,要么是使用的命令无法按预期方式运行。

如果出现这种情况,请尝试以下故障排除技巧。

如果无法通过 SSH 连接

如果无法连接服务器,请查看命令行给出的错误信息或提示。有时,你需要回复 “yes/no” 提示,或者修改命令中的错别字。

如果还不行,请检查您提供的登录凭证是否正确。您可以从服务器网站信息页面获取这些信息。其他托管服务提供商可能会在 cPanel 或他们使用的控制面板中提供 SSH 部分。

如果再试一次还是不行,请尝试重置 SSH 密码。检查互联网连接是否正常,是否有防火墙阻止你访问服务器。如果有疑问,请关闭终端或 SSH 客户端,然后重新打开。

登录您的托管账户,检查是否有任何服务器问题阻止您访问。

如果您使用的是公共网络,可能不允许 SSH 访问您的端口。试着用你知道可以使用的其他端口进行测试。

如果其他方法都不奏效,请向托管服务提供商申请支持票据,他们会查看日志并找出无法连接的原因。

如果 SSH 命令无法正常工作

另一个常见问题是 SSH 命令无法以你期望的方式运行。这通常是由于命令输入错误造成的。

下面是一个例子,我输入的是 is 而不是 ls

在终端中输入错字

在终端中输入错字

在这里,我看到了一个错误警告(command not found),于是我用正确的命令再试一次。

有时,你可能输入了正确的命令,但却弄错了参数。如果是这种情况,请查看 SSH 文档中的 SSH 命令和 WP-CLI 文档中的 WP-CLI 命令。

如果你的 SSH 命令不起作用是因为连接不正常,你会看到一条错误信息告诉你这一点。命令行不断为你提供正在发生的信息,这是它的好处之一。事实上,命令行提供的信息往往比图形界面更多更清晰。

如何生成新的 SSH 密钥对以提高安全性

与使用用户名和密码连接 SSH 相比,生成 SSH 密钥对多了一层安全保护。你可以在终端或 SSH 客户端中生成密钥对。具体方法如下。

生成配对密钥包括三个步骤:

  1. 在终端或 SSH 客户端中生成密钥对。
  2. 在服务器提供商网站中通过用户设置屏幕将配对密钥添加到托管账户。
  3. 使用配对密钥在终端或 SSH 客户端中连接到服务器。

添加 SSH 密钥示例

添加 SSH 密钥示例

小结

使用 SSH 连接服务器和 WordPress 网站将比依赖WordPress管理界面、FTP 甚至 phpMyAdmin 更有效率。

按照上面的步骤通过 SSH 连接到服务器,你会发现自己可以在网站上做更多事情,而不必在应用程序或浏览器窗口之间切换。

现在轮到你了:你日常使用的首选终端命令是什么?请在评论中告诉我们!

评论留言