paramiko使用简记

由于项目需要用到在别的主机上执行命令的功能而又没有部署salt之类的管理工具,所以就找到了paramiko,一款使用用户名密码port等SSH到别的主机执行命令的第三方库。
1、安装
pip install paramiko
2、引入
import paramiko
3、使用
示例:

a、建立连接

ssh_fd = paramiko.SSHClient()
ssh_fd.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_fd.connect(host, port=ssh_port, username=username, password=passwd)

注:这里可以指定很多参数,具体可参考官网
b、远程执行命令

stdin, stdout, stderr = ssh_fd.exec_command(cmd, bufsize=-1)

注:这里也是可以加很多的参数的,比如缓冲区大小(默认很小,输出结果长的话就会有问题,这里-1是不限制大小)、命令执行超时时间等,具体参考官网
这里的stdin,stdout,stderr分别对应三个缓冲区:标准输入、标准输出和标准错误,可以通过

res = stdout.read()

这样获取执行结果或者执行异常时的错误信息,这里读取到信息可能是bytes字节型,通常要转换成str才能正常使用
bytes转str方式

out=stdout.read().decode('ascii')

注:这里有两个坑,一个是stdout只能读取一次,后面再read会得到空值;另一个是不同的系统输出可能要使用不同的解码方式,比如utf-8,ascii,gbk等

你可能感兴趣的:(paramiko使用简记)