远程调用api实现服务器执行ssh,可用于应用代码无法完成的工作

    执行ssh的目标服务器安装工具GitHub - vrest-io/vutil,要依赖node.js

1、node.js安装

wget https://nodejs.org/dist/latest-v10.x/node-v10.24.1-linux-x64.tar.xztar Jxvf node-v10.24.1-linux-x64.tar.xzcd node-v10.24.1-linux-x64

vi /etc/profile

最后行加上

export PATH=$PATH:/root/node-v10.24.1-linux-x64/bin

source /etc/profile

node -v

如下成功

2安装vutil

github下载安装包GitHub - vrest-io/vutil

解压后

$ cd vutil

$ cp config-sample.json config.json

$ npm install

$ npm init

执行脚本启动

$ PORT=4080 node server.js

如下图成功

注意防火墙,开放端口4080

此时第三方可以通过代码或者工具如下方式调用

执行后,服务器增加两个文件夹jjj,iii

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Watir 是用于自动化 Web 浏览器的 Ruby 库,它并不是用于 SSH 通信的库。如果你想在 Ruby 中进行 SSH 通信,可以考虑使用 Net::SSH 库。下面是一个使用 Net::SSH 进行 SSH 登录并执行命令的示例: ```ruby require 'net/ssh' Net::SSH.start('example.com', 'username', password: 'password') do |ssh| result = ssh.exec!("ls") puts result end ``` 在上面的示例中,我们连接到名为 `example.com` 的远程服务器,使用用户名 `username` 和密码 `password` 进行身份验证。然后,我们执行了 `ls` 命令,并将结果打印到控制台。你可以根据自己的需要修改这个示例,以执行其他命令或执行其他 SSH 操作。 ### 回答2: Watir是一个用于自动化web浏览器的工具,它无法直接用于SSH通信。SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地执行远程命令和传输文件。 要实现SSH通信,您可以使用其他适用于SSH的库,如Net::SSH或Ruby的SSHKit。这些库提供了在Ruby中与远程服务器进行安全通信的功能。 使用Net::SSH,您可以通过以下步骤实现SSH通信: 1. 首先,在您的Ruby项目中安装Net::SSH库。您可以使用Gemfile和Bundler来管理您的gem依赖项。 2. 在您的代码中,需要导入Net::SSH库。使用`require 'net/ssh'`导入。 3. 使用Net::SSH的`start`方法来建立与远程服务器的连接。您需要指定远程服务器的IP地址、用户名和密码(或密钥)等信息。 4. 一旦建立了连接,您可以使用`exec`方法来执行远程命令,或使用`sftp`方法进行文件传输。 以下是一个简单的示例,展示如何使用Net::SSH进行SSH通信: ```ruby require 'net/ssh' Net::SSH.start('remote_server_ip', 'username', password: 'password') do |ssh| result = ssh.exec!("ls -la") puts result end ``` 在上面的示例中,我们首先导入Net::SSH库。然后,我们使用`Net::SSH.start`方法来建立与远程服务器的连接,并指定服务器的IP地址、用户名和密码。然后,我们使用`exec!`方法执行了一个简单的命令`ls -la`,并将结果打印出来。 通过这种方式,您可以使用Net::SSH库来实现与远程服务器SSH通信,而不是使用Watir来执行此任务。 ### 回答3: Watir 是一个用于自动化 Web 浏览器操作的测试工具,主要用于对 Web 应用进行功能测试。它是使用 Ruby 编程语言编写的,提供了丰富的 API 和功能,可以方便地操作浏览器,模拟用户行为。 然而,Watir 并没有原生支持 SSH 通讯,因为它的主要目的是处理 Web 页面。要实现SSH 服务器的通讯,我们可以考虑以下两种方式来调用操作系统级别的 SSH 客户端或库: 1. 使用 Watir 调用系统命令:通过使用 Watir 中的`system`方法,我们可以执行系统命令来调用 SSH 客户端或库,以实现与远程 SSH 服务器的通讯。例如,可以使用`ssh`命令来连接到远程服务器执行远程命令或传输文件。 2. 使用 Ruby SSH 库:在 Ruby 中有一些强大的 SSH 客户端库,例如 Net::SSH 和 Net::SSH::Multi。这些库提供了丰富的 API,可以轻松地在 Ruby 中实现 SSH 通讯。可以在 Watir 脚本中引入这些库,并使用它们来与 SSH 服务器进行通讯。 需要注意的是,无论选择哪种方法,都需要确保系统中已经安装了对应的 SSH 客户端或库,并且正确配置了密钥、用户名和密码等身份验证参数,以便成功连接到远程 SSH 服务器。 总之,虽然 Watir 本身没有直接支持 SSH 通讯的功能,但我们可以通过调用系统命令或使用 Ruby SSH 客户端库来实现与远程 SSH 服务器的通讯,从而扩展 Watir 的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值