Python,Linux:如何使用pysftp执行多个命令

时间:2016-01-23 00:55:34

标签: python linux fabric paramiko pysftp

这里我试图在远程服务器上执行命令并获取其输出,对于每个命令,但它需要一个单独的连接,但如果我创建单独的连接或会话,它响应我非常缓慢,

我正在尝试运行的代码是,但它不起作用:

import pysftp
import paramiko

commandlist = ("ls", "uname -a","whoami")
ans = []
sftp = pysftp.Connection("localhost",username="root",password="123456",port=22)
for i in commandlist:
    try: 
        out = sftp.execute(i)
        ans.append(out)
    except (paramiko.ssh_exception.AuthenticationException,paramiko.ssh_exception.SSHException), e:
        ans.append(e)
return ans

工作代码是:

import pysftp
import paramiko
commandlist = ("ls", "uname -a")
ans = []
for i in commandlist:
    try: 
        sftp = pysftp.Connection("localhost",username="root",password="123456",port=222)
        out = sftp.execute(i)[0]
        ans.append(out)
    except (paramiko.ssh_exception.AuthenticationException,paramiko.ssh_exception.SSHException), e:
        ans.append(e)
return ans

现在这里为每个要执行的命令创建连接, 请帮助我,让我知道这是否可以由其他自由派如帕拉米科或面料以及如何做。

感谢。

0 个答案:

没有答案