之前实践过用Ansible来做自动化运维,事实上Python也是能干这个事儿的,用paramiko模块,比Ansible还要易用,本周末就进行了简单的实践,
直接在我的Python实践神器PyCharm上搞,首先安装paramiko模块,
然后就可以进行实践了,拿远程的ubuntu虚机做实验,
编写一段简单的代码,
importparamiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.90.3.60',port=22,username='ubuntu',password='ubuntu')
stdin, stdout, stderr = ssh.exec_command('ifconfig;ls')
print(stdout.read().decode())
ssh.close()
两条命令都能够正确得到输出,
这个是ifconfig的,
这个是ls的,
是不是很方便,实践到这儿,可能有人会问,sudo怎么办,你做Ansible实践的时候特意考虑sudo了,没错,这个确实很重要,不然怎么做自动化运维,
paramiko这样处理,自动化的去交互,在上面代码里再增加一个sudo实践,
importparamiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.90.3.60',port=22,username='ubuntu',password='ubuntu')
stdin, stdout, stderr = ssh.exec_command('ifconfig;ls;sudo ls /root',get_pty=True)
stdin.write('ubuntu\n')
print(stdout.read().decode())
ssh.close()
你就能看到sudo命令也能正确得到输出了,
本周末的技术实践就到这里,Python是一个好东西,值得多研究,下次再见。
领取专属 10元无门槛券
私享最新 技术干货