美文网首页
paramiko使用简记

paramiko使用简记

作者: 进击的胖达 | 来源:发表于2018-07-19 15:27 被阅读56次

    由于项目需要用到在别的主机上执行命令的功能而又没有部署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使用简记

          本文链接:https://www.haomeiwen.com/subject/vmstmftx.html