Я запустил этот собственный небольшой проект, чтобы создать сценарий python, который будет подключаться к Linux серверам через S SH и запускать команды на них. Это было успешно, но когда я попытался использовать список IP-адресов из файла, я столкнулся с проблемой, когда он будет подключаться только к одному из IP-адресов (только одна строка) в файле. Файл содержит следующие записи:
172.18.8.130
172.18.8.137
И проблема в том, что скрипт возвращает выходные данные только со второго IP:
['Linux 172.18.8.137 4.18.0-147.5.1.el8_1.x86_64 # 1 SMP Ср 5 февраля 02:00:39 UT C 2020 x86_64 x86_64 x86_64 GNU / Linux \ n']
Код
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
with open(r'D:\servers.txt', 'r') as fp:
for line in fp:
line = (fp.read())
ssh.connect(line, 22, "root", "password")
stdin, stdout, stderr = ssh.exec_command("uname -a")
print (stdout.readlines())
Как мне сделать так, чтобы go проходил через все строки (IP) в этом файле, чтобы он подключался и запускал uname -a на всех серверах