写一个批量修改服务器密码的python脚本
时间: 2024-05-06 13:18:31 浏览: 150
python批量修改ssh密码的实现
以下是一个简单的批量修改服务器密码的 Python 脚本:
```python
import paramiko
# 服务器列表和新密码
server_list = [
{'host': '192.168.1.1', 'port': 22, 'username': 'root', 'password': 'old_password'},
{'host': '192.168.1.2', 'port': 22, 'username': 'root', 'password': 'old_password'},
{'host': '192.168.1.3', 'port': 22, 'username': 'root', 'password': 'old_password'}
]
new_password = 'new_password'
# 循环遍历服务器列表
for server in server_list:
try:
# 创建 SSH 客户端并连接到服务器
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(server['host'], server['port'], server['username'], server['password'])
# 修改密码
stdin, stdout, stderr = ssh.exec_command('echo "{new_pass}" | passwd --stdin root'.format(new_pass=new_password))
print('Server {host} password changed successfully.'.format(host=server['host']))
# 关闭 SSH 连接
ssh.close()
except Exception as e:
print('Error: ', str(e))
```
在脚本中,我们首先定义了一个包含服务器信息的列表和一个新密码。然后,我们循环遍历服务器列表,使用 Paramiko 库连接到服务器,并在服务器上执行修改密码的命令。最后,我们关闭 SSH 连接并输出成功或错误信息。
请注意,这只是一个简单的示例脚本,您可以根据自己的需求进行调整。同时,建议在使用脚本前先在测试环境中进行测试。
阅读全文