paramiko不为只读ssh客户端文件系统发送exec_command

时间:2019-12-20 13:47:56

标签: python ssh paramiko

我正在使用paramiko连接到ssh客户端(具有硬件)。 ssh客户端文件系统是只读的excet only / tmp文件夹。

通过终端时,执行以下操作:

ssh@hostname

获取板壳终端

执行任何命令,例如pwd

但是通过paramiko,我获得了“连接”成功(未观察到失败) 之后,在尝试exec_command ("pwd")时,我无任何输出。

它有什么要做的事情只读取目标上的主文件夹。 如果是这样,如何将目录更改为/tmp(目标上的可写文件夹)并使用exec_command

让我知道是否需要提供更多信息。

使用的环境:

Ubuntu PC

代码:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("xx.xx.xx.xx",username="xxxx",password="xxxx")
stdin, stdout, stderr = ssh.exec_command("pwd")

output = stdout.readlines()
output1 = stdout.channel.recv_exit_status()

error = stderr.readlines()
print ("\nOutput: ",output)
print ("\nOutput1: ",output1)

执行输出:

('\nOutput: ', [])

('\nOutput1: ', 126)

1 个答案:

答案 0 :(得分:0)

替换:

stdin, stdout, stderr = ssh.exec_command("pwd")

作者

stdin, stdout, stderr = ssh.exec_command("cd /tmp && pwd")

使用“ cd / tmp”,请确保您位于tmp文件夹中。