npm 包 node-ssh 使用教程

阅读时长 4 分钟读完

最近在进行前端开发时遇到了需要通过 SSH 连接到远程服务器的情况,而 npm 上提供的 node-ssh 包解决了这个问题。

本文将详细介绍 node-ssh 的使用方法,包括创建 SSH 连接、执行远程命令、上传和下载文件等操作。

安装

在使用 node-ssh 之前,需要安装它。

通过 npm 安装:

或者通过 yarn 安装:

创建 SSH 连接

使用 node-ssh 是要先创建一个 SSH 连接,通过这个连接可以执行各种操作。

通过如下代码创建 SSH 连接:

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

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

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

其中 your-server-host 是你要连接的远程服务器地址,your-username 是你在该服务器上的用户名,/path/to/your/private/key 是你的私钥文件路径。如果需要密码登录,可以在 connect 方法中传递 password 属性。

执行远程命令

创建了 SSH 连接之后,我们就可以执行远程命令了。

使用 execCommand 方法执行远程命令,接受一个字符串类型的参数,表示要执行的命令。该方法返回一个 Promise 对象,可以通过 then 方法获取命令执行结果和错误信息。

上传和下载文件

在日常开发中,会碰到需要上传或下载文件到远程服务器的情况。node-ssh 也提供了很好的支持。

上传文件:

下载文件:

putFiles 方法接受一个数组类型的参数,数组中每个元素都包含一个 local 和一个 remote 属性,分别表示本地文件路径和远程服务器上要存储的文件路径。getFile 方法接受两个参数,第一个参数是远程文件路径,第二个参数是本地文件路径。

建立 Promise 链式调用

在实际应用中,常常需要执行多个命令和操作。这时候,可以使用 Promise 链式调用的方式,简化代码。

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

将多个操作通过 Promise 链式调用的方式串连起来。

总结

node-ssh 是一个非常实用的 npm 包,可以在前端开发中轻松连接远程服务器,执行远程命令以及上传和下载文件等常见操作。在使用时需要注意配置私钥文件等细节,尤其要注意服务器安全。

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

纠错
反馈