优草派  >   Python

Python实现ssh批量登录并执行命令

张鹏            来源:优草派

在实际工作中,我们有可能需要登录到多台服务器执行相同的命令,这个时候如果手动依次登录每台服务器执行命令肯定是非常麻烦的。那么我们可以使用Python实现ssh批量登录并执行命令,本文将会从以下几个方面进行分析:

Python实现ssh批量登录并执行命令

1. 需要的库

2. 实现过程

## 需要的库

在使用Python实现ssh登录之前,我们需要安装paramiko这个库。使用以下命令可以进行安装:

```

pip install paramiko

```

## 实现过程

接下来,我们就可以使用Python来实现ssh批量登录并执行命令了。以下是实现的步骤:

### 导入需要的库

```python

import paramiko

```

### 定义函数

```python

# 定义ssh连接函数

def ssh_connect(ip, username, password):

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(ip, 22, username, password, timeout=5)

return ssh

# 定义执行命令函数

def exec_command(ip, username, password, cmd):

ssh = ssh_connect(ip, username, password)

stdin, stdout, stderr = ssh.exec_command(cmd)

result = stdout.read()

ssh.close()

return result

```

### 批量执行命令

```python

if __name__ == '__main__':

# 服务器列表

server_list = [

{'ip': '192.168.1.1', 'username': 'root', 'password': '123456'},

{'ip': '192.168.1.2', 'username': 'root', 'password': '123456'}

]

# 执行的命令

command = 'ls'

# 遍历server_list,执行命令

for server in server_list:

result = exec_command(server['ip'], server['username'], server['password'], command)

print(result.decode())

```

以上就是实现ssh批量登录并执行命令的基本步骤,有了这样的方法之后,则可以提高工作效率,同时也可以降低错误率。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行