python写一个ssh巡检程序
时间: 2023-09-13 12:10:14 浏览: 95
python写的一个服务器自动巡检工具
以下是一个简单的Python SSH巡检程序示例,使用paramiko库实现SSH连接和远程命令执行:
```python
import paramiko
# 连接SSH远程主机函数
def ssh_connect(host, port, username, password):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, port=port, username=username, password=password)
return ssh
# 执行远程命令函数
def ssh_command(ssh, command):
stdin, stdout, stderr = ssh.exec_command(command)
result = stdout.read().decode()
if result:
return result
else:
return stderr.read().decode()
# 巡检函数,执行多个命令并输出结果
def check_server(host, port, username, password):
ssh = ssh_connect(host, port, username, password)
print('=================巡检开始=================')
print(f'主机名:{host}')
print(f'当前时间:{ssh_command(ssh, "date")}')
print(f'系统版本:{ssh_command(ssh, "cat /etc/issue")}')
print(f'CPU使用率:{ssh_command(ssh, "top -bn1 | grep Cpu | awk \'NR==1{print $2}\'")}')
print(f'内存使用率:{ssh_command(ssh, "free | grep Mem | awk \'{print $3/$2 * 100.0}\'")}%')
print('=================巡检结束=================')
ssh.close()
# 调用巡检函数
check_server('192.168.1.100', 22, 'root', 'password')
```
以上程序中,`ssh_connect()`函数用于连接SSH远程主机,`ssh_command()`函数用于执行远程命令并返回结果,`check_server()`函数用于执行多个命令并输出结果。可以根据实际需求修改命令内容和输出格式。
阅读全文