42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
import paramiko
|
|
|
|
# 设置SSH连接参数
|
|
port = 22
|
|
username = 'root'
|
|
password = 'alpine'
|
|
|
|
def execute_command(hostname: str, command: str):
|
|
# 创建SSH客户端
|
|
client = paramiko.SSHClient()
|
|
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
# 连接SSH服务端
|
|
client.connect(hostname, port, username, password)
|
|
|
|
# 执行命令
|
|
stdin, stdout, stderr = client.exec_command(command)
|
|
output = stdout.read().decode('utf-8')
|
|
error = stderr.read().decode('utf-8')
|
|
|
|
print(f"主机 {hostname} 执行命令: {command}")
|
|
if output:
|
|
print("输出:", output)
|
|
if error:
|
|
print("错误:", error)
|
|
|
|
# 关闭连接
|
|
client.close()
|
|
|
|
if __name__ == "__main__":
|
|
ips1 = []
|
|
with open("./ips.txt", 'r') as f:
|
|
ips1 = [i.strip() for i in f.readlines()]
|
|
|
|
command = 'ls -l' # 替换为实际要执行的命令
|
|
|
|
for hostname in ips1:
|
|
try:
|
|
print(hostname)
|
|
execute_command(hostname, command)
|
|
except Exception as e:
|
|
print(e)
|