SSH2-Utils 是一个可以连接到远程服务器,执行远程命令和传输文件的 Node.js 库。它提供了一组简单又强大的 API 和 CLI 工具,旨在让 Node.js 开发者更轻松地进行 SSH2 连接和文件管理。
安装 SSH2-Utils
SSH2-Utils 最简单的安装方式是直接通过 npm 安装它。
npm install ssh2-utils
连接到远程服务器
SSH2-Utils 允许您在 Node.js 应用程序中连接到远程服务器并执行远程命令。这是如何实现的:
-- -------------------- ---- ------- ----- ------ - ----------------------- ----- ---- - --- --------- ---------------- ---------- - ------------------- ------------------- ------------- ------- - -- ----- ----- ---- ------------------ -------------- ------- - ------------------ - ------ ----------- ------------- -------------- - -------------------- - - ------ -------------------- -------------- - -------------------- - - ------ --- --- ------------ ----- -------------- ----- --- --------- ---------- --------- -------------- ---
在这个示例中,我们首先引入了 SSH2 库,并创建了一个 SSH2 的客户端连接。在 conn.on('ready')
事件监听器中,我们打印连接成功的日志信息,然后执行了 uptime
命令,并处理了命令的返回结果(退出码、输出内容等)。
传输文件
SSH2-Utils 还提供了一个方便的方法来进行远程文件传输。以下代码演示了如何将本地的 package.json
文件上传到远程服务器 /tmp/
目录中:
-- -------------------- ---- ------- ----- ------ - ----------------------- ----- ---- - --- --------- ---------------- ---------- - ------------------- ----------------------- ----- - -- ----- ----- ---- ---------------------------- -------------------- ------------- - -- ----- ----- ---- ----------- --- --- ------------ ----- -------------- ----- --- --------- ---------- --------- -------------- ---
在上述示例中,我们首先创建 SSH2 的客户端连接,然后在 conn.on('ready')
事件监听器中通过 sftp 方法获得 SFTP 连接。最后,我们执行了 fastPut
方法来上传本地文件到远程服务器的 /tmp/
目录中。
综合示例
以下是一个综合示例,其中展示了如何连接到远程服务器、执行远程命令和上传文件:
-- -------------------- ---- ------- ----- ------ - ----------------------- ----- ---- - --- --------- ---------------- ---------- - ------------------- ------------------- ------------- ------- - -- ----- ----- ---- ------------------ -------------- ------- - ------------------ - ------ ----------------------- ----- - -- ----- ----- ---- ---------------------------- -------------------- ------------- - -- ----- ----- ---- ----------- --- --- ------------- -------------- - -------------------- - - ------ -------------------- -------------- - -------------------- - - ------ --- --- ------------ ----- -------------- ----- --- --------- ---------- --------- -------------- ---
在这个示例中,我们首先创建 SSH2 的客户端连接,然后在 conn.on('ready')
事件监听器中执行了 uptime
命令,在命令执行完成后,通过 sftp 方法将本地文件上传到远程服务器。
总结
通过 SSH2-Utils,我们可以轻松地进行 SSH2 连接和文件传输。无论您是想远程管理服务器,还是编写自动化部署工具,SSH2-Utils 都将是一个不错的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a78ccae46eb111f2cf