无法通过SSH

时间:2017-04-26 14:28:07

标签: python linux bash ssh paramiko

我正在尝试使用ssh连接在“Bash on Windows”上运行python脚本。当我这样做时,ssh只是连接然后再次关闭,而不执行python脚本。我只是通过ssh发送此命令:python pythontest.py 我正在使用paramiko来建立ssh连接。 ssh是用这个类建立的:

class ssh:
client = None

def __init__(self, address, username, password):
    print("Connecting to server.")
    self.client = client.SSHClient()
    self.client.set_missing_host_key_policy(client.AutoAddPolicy())
    self.client.connect(address, username=username, password=password, look_for_keys=False)

def sendCommand(self, command):
    if(self.client):
        stdin, stdout, stderr = self.client.exec_command(command)
        while not stdout.channel.exit_status_ready():
            # Print data when available
            if stdout.channel.recv_ready():
                alldata = stdout.channel.recv(1024)
                prevdata = b"1"
                while prevdata:
                    prevdata = stdout.channel.recv(1024)
                    alldata += prevdata

                print(str(alldata, "utf8"))
    else:
        print("Connection not opened.")

我正在尝试运行的python脚本,如果我从Bash控制台调用它就可以正常工作。如果我问它mkdir test或其他什么,ssh连接是有效的。 有什么想法来解决这个问题吗?

0 个答案:

没有答案