安装 Fabric
远程执行 Shell 命令脚本(remote_execute_shell_command.py)
#!/usr/bin/python
import argparse
from fabric import Connection, Config
# 您要远程操作的计算机,username@ip
HOSTS = ['root@192.168.0.1', 'root@192.168.0.2']
PASSWORDS = ['admin', 'admin']
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--command', type=str, help='execute shell command.')
args = parser.parse_args()
if not args.command:
args.command = 'uname -a'
print('➜ Execute shell command: ', args.command)
for host, password in zip(HOSTS, PASSWORDS):
print(f'➜ Host: {host}')
if password:
config = Config(overrides={'sudo':{'password':password}})
Connection(host, config=config).sudo(args.command, hide='stderr')
else:
Connection(host).run(args.command)
执行
python3 remote_execute_shell_command.py -c 'uname -a'
➜ Execute shell command: uname -a
➜ Host: root@192.168.0.1
Linux cpu1 5.4.0-89-generic #100-Ubuntu SMP Fri Sep 24 14:50:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
➜ Host: root@192.168.0.2
Linux cpu2 5.4.0-26-generic #30-Ubuntu SMP Mon Apr 20 16:58:30 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
参考资料