通过paramiko建立一个SSH连接,并发送一个命令来检查主机名,并发送第二个命令来查看www目录中是否有任何内容



您的经理刚刚让您找出主机名(/etc/hostname(是什么,以及www目录中是否有任何文件。你的经理希望你在两台基于Ubuntu的机器上检查这一点。然而,他们希望你以一种可以扩展到网络上所有100台服务器的方式编写这篇文章。实现以下项目:

制作流程图。

创建伪代码。

通过paramiko建立一个SSH连接,并发送一个命令来检查主机名,然后发送第二个命令来查看www目录中是否有任何内容。

从文件(文本或CSV(中输入IP地址。

将两个命令的输出保存到文件(文本或CSV(中,确保注意数据来自哪个IP。

正如mirlinda所说,这是一组需求,而不是一个问题。我只是有一个计划供你参考。
  1. 您可以将所有ip地址写入文本文件,每行一个ip
  2. 使用ssh-keygen -t rsa -C "your mail"命令在您的100台服务器中创建ssh-rsa密钥
  3. 运行ssh-copy-id -i ~/.ssh/id_rsa.pub root@[ip],使管理员计算机可以访问要访问的服务器,而无需密码
  4. 编写一个python脚本,每次从readline接口保存的所有服务器ip的文本文件中读取一个ip
  5. 使用check_output接口运行hostname命令获取服务器主机名,使用ls [full path of www]获取www目录内容
  6. 您可以通过重定向符号'>'将check_output接口的返回内容保存到文件中
  7. 使用while或for语句在python脚本中循环操作4-6,直到获得所有100台服务器的所有主机名和www内容

最新更新