Python的paramiko实践(一)

之前实践过用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是一个好东西,值得多研究,下次再见。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180501G0USIY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券