Python_oldboy_自动化运维之路_paramiko,mysql
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_oldboy_自动化运维之路_paramiko,mysql相关的知识,希望对你有一定的参考价值。
本节内容:
- paramiko
- mysql
1.paramiko
http://www.cnblogs.com/wupeiqi/articles/5095821.html
paramiko是一个模块,socket和ssh协议,利用这个模块就可以用python代码实现远程服务器操作
ansible底层就是用的这个模块
功能:
a.使用用户名密码:命令,文件
b.使用用户名秘钥:命令,文件
c.执行创建session
1.基于用户名密码连接:
import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname=‘c1.salt.com‘, port=22, username=‘wupeiqi‘, password=‘123‘) # 执行命令 stdin, stdout, stderr = ssh.exec_command(‘df‘) # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close()
b‘anaconda-ks.cfg\\ninstall.log\\ninstall.log.syslog\\npackage\\n\\xe5\\x85\\xac\\xe5\\x85\\xb1\\xe7\\x9a\\x84\\n\\xe6\\xa8\\xa1\\xe6\\x9d\\xbf\\n\\xe8\\xa7\\x86\\xe9\\xa2\\x91\\n\\xe5\\x9b\\xbe\\xe7\\x89\\x87\\n\\xe6\\x96\\x87\\xe6\\xa1\\xa3\\n\\xe4\\xb8\\x8b\\xe8\\xbd\\xbd\\n\\xe9\\x9f\\xb3\\xe4\\xb9\\x90\\n\\xe6\\xa1\\x8c\\xe9\\x9d\\xa2\\n‘
假如利用普通用户登录
# -*- coding: UTF-8 -*- #blog:http://www.cnblogs.com/linux-chenyang/ import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname=‘10.236.62.37‘, port=22, username=‘root‘, password=‘123456‘) # 执行命令 stdin, stdout, stderr = ssh.exec_command(‘sudo ls‘) stdin.write(‘123456‘) stdin.flush() # 获取命令结果 result = stdout.read() print(str(result)) # 关闭连接 ssh.close()
2.基于用户名秘钥连接
import paramiko private_key = paramiko.RSAKey.from_private_key_file(‘/home/auto/.ssh/id_rsa‘) # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname=‘c1.salt.com‘, port=22, username=‘wupeiqi‘, key=private_key) # 执行命令 stdin, stdout, stderr = ssh.exec_command(‘df‘) # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close()
以上是关于Python_oldboy_自动化运维之路_paramiko,mysql的主要内容,如果未能解决你的问题,请参考以下文章
Python_oldboy_自动化运维之路_socket编程