【发布时间】:2016-10-27 00:29:33
【问题描述】:
我正在使用paramiko 为远程主机创建一个SSH Channel。但是,当我尝试使用ssh_object.exec_command 执行任何命令时,该命令似乎没有被执行。
此函数创建我的ssh 处理程序:
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
这就是我使用处理程序的地方:
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)
当我转到远程机器时,该文件夹尚未创建。同样,我也尝试读取ls 命令的输出。当我ssh_stdout.read() 时没有响应。
我哪里出错了?
【问题讨论】:
-
你能检查一下ssh_stderr有没有log吗?
-
@AlekhyaVemavarapu,我该如何检查?
-
试试 command="mkdir -p " + 文件夹
-
这似乎也不起作用,@skynyrd。
-
还有@Alekhya,ssh_stderr 中没有日志
标签: python python-2.7 ssh paramiko