我正在尝试使用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连接是有效的。
有什么想法来解决这个问题吗?