远程发现主机名和IP地址

远程发现主机名和IP地址

在我的环境中大约有 1000 台生产服务器。所有服务器上都禁用直接 root 登录。有一个用户“abc”具有 sudo 访问权限。我们使用“abc”登录每台计算机,然后sudo su -获得 root 访问权限。

请注意,我在 Ubuntu 计算机上运行此脚本并连接到 RHEL 计算机。

需要知道每个远程服务器 IP 的主机名和操作系统版本。

所以我制作了一个脚本,它将与远程系统连接并执行命令并将输出保存在本地文件中。

我设法创建的脚本如下:

for i in `cat test1` 
do 
{ 
    echo "***************************$i***************************************" 
    sshpass -p 'password' ssh abc@ipaddress “/sbin/ifconfig >> /home/ankush/output.txt”
} 
done 

它连接到test1文件中存在的所有计算机 IP 地址并执行,但不执行ifconfig远程系统上的命令。

执行时报错如下:

***************************ip address***************************************
bash: “/sbin/ifconfig: No such file or directory

答案1

需要知道每个远程服务器 IP 的主机名、操作系统版本。

有一个出色的工具可以实现这一点,称为nmap.它适用于 Ubuntu,链接这里

例子:

nmap -sP 192.168.1.*

这是另一个链接这可能有用。

答案2

安西布尔可以为您做到这些(甚至更多):

ansible remotehost -m setup

相关内容