Ich erstelle einen SSH Channel
zu einem Remote-Host mit paramiko
. Wenn ich jedoch versuche, einen Befehl mit der ssh_object.exec_command
auszuführen, scheint der Befehl nicht ausgeführt werden.Python2.7: ssh.exec_command führt keinen Befehl aus
Diese Funktion erzeugt mein ssh
Handler:
def ssh_connect(ip,user,pwd):
'''
This function will make an ssh connection to the ip using the credentials passed and return the handler
Args:
ip: IP Address of the box into which ssh has to be done
user: User name of the box to which ssh has to be done
pass: password of the box to which ssh has to be done
Returns:
An ssh handler
'''
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, username=user, password=pwd)
return ssh
Und das ist, wo ich den Handler bin mit:
ssh_obj = ssh_connect(ip, username, password)
folder = "/var/xyz/images/" + build_number
command = "mkdir " + folder
ssh_stdin, ssh_stdout, ssh_stderr = ssh_obj.exec_command(command)
Wenn ich auf den entfernten Rechner gehen, hat der Ordner nicht erstellt habe . In ähnlicher Weise habe ich versucht, auch die Ausgabe eines Befehls ls
zu lesen. Keine Antwort kommt, wenn ich ssh_stdout.read()
mache.
Wohin gehe ich falsch?
Können Sie bitte überprüfen, ob es eine Anmeldung gibt ssh_stderr? –
@AlekhyaVemavarapu, wie überprüfe ich das? –
Try Befehl = "mkdir -p" + Ordner – skynyrd