npm 包 ssh2cm 使用教程

阅读时长 4 分钟读完

引言

作为前端开发人员,我们经常需要在生产服务器上部署一些 web 应用或者修改服务器上的配置文件。通常情况下,我们会使用 ssh 作为远程连接工具。

然而,我们可能会遇到一些问题,如何精确地根据代码去部署应用,如何快速地修改一个或多个服务器的配置文件.

在这篇文章中,我们将介绍 npm 包 ssh2cm(ssh command manager)的使用。它能够让我们更容易地在远程服务器上执行命令和文件操作,同时提供了很多灵活的配置选项。

安装

无论是在 Linux, macOS 还是 Windows OS 上,我们都可以使用 npm 来安装 ssh2cm :

使用

连接远程服务器

首先,我们需要使用 ssh2cm 建立一个 ssh 连接。我们可以通过以下配置项来连接远程服务器:

其中,host 是我们要连接的服务器地址,port 是服务器 ssh 服务的端口。我们需要提供 username 和 password 区配,或者 SSH key,在连接时使用。

执行命令

建立好连接之后,我们可以使用 execCommand() 方法来在远程服务器上执行命令:

-- -------------------- ---- -------
----- ------ - ------------------

----- ---------- - - --- -- -- ---------
----- ---------- - -------------------

-------------------------- ----------------- -- -
  --------------------
---

-- ---
-- ----- --
-- ----------   - ----  -----   --- ---  - ----- -
-- ----------- -- ----  -----  ---- ---  - ----- --
-- ----------   - ----  -----  ---- ---  - ----- --------
-- ---

其中,我们传入了要运行的命令,并将输出返回给回调函数。在这个例子中,我们将服务器上以“列表”的形式列出当前目录下的所有文件。

我们也可以使用 promises 异步获取输出,就像上面的例子那样。如果没有出错,execCommand() 返回的是一个表示输出的字符串。

SCP

我们可以使用 ssh2cm 的 SCP(Secure Copy)API 来在本地和服务器之间传输文件。

以下也是一个使用 scp() 方法上传文件和下载多个文件的示例:

-- -------------------- ---- -------
----- ------ - ------------------
----- ---- - ----------------

----- ------- - -
  -
    ----- ---------
    ------ ----------------------- ---------------------
    ------- ----------------
  --
  -
    ----- -----------
    ------- -------------------
    ------ ----------------------- ------------------------
  --
--

----- ---------- - - --- -- -- ---------
----- ---------- - -------------------

-----------------------
  ---------- -- ------------------
  -----------------------------

-- ---
-- -
--   ----------------- --- ---------- -- ----------------------------------
--   ----------------- -------- -- -------------------------------
-- -

在这个例子中,我们传入要执行的操作列表,然后通过 scp() 方法来执行它。在这个例子中,我们上传了一个 name.txt 文件到“/etc/name.txt”,然后下载了一个“/etc/version.txt”的文件,并将它存储到本地的“/tmp/ssh2cm/download/version.txt”。

结尾

ssh2cm 可以说是一个非常强大和丰富的 npm 包。它可以让我们更容易地对远程服务器进行文件操作和命令行操作。上面的例子只是 ssh2cm 功能的一个极小子集。ssh2cm 还有很多功能等待我们去探索。

希望 ssh2cm 可以帮助您的开发工作,提高您的工作效率。例如,在部署应用程序时,可以轻松地复制文件和启动进程。如有任何问题,请留言,并查看 ssh2cm 的文档。

参考

  1. ssh2cm documentation

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a78ccae46eb111f2cc

纠错
反馈