This question already has answers here:
Command executed with Paramiko does not produce any output
(1个答案)
Some Unix commands fail with “<command> not found”, when executed using Python Paramiko exec_command
(1个答案)
7个月前关闭。
我使用以下代码通过SSH成功执行了命令:
但是,一旦我将“df -H”命令交换为“smartctl -H disk1”,我就不会从Python得到任何输出。
值得一提的是,我也没有任何错误。
当我在终端中运行“smartctl -H disk1”时,它可以正常工作并提供我期望的输出,但是它只是通过Paramiko命令运行,这似乎是问题所在。
有任何想法吗?
干杯,
乔治
(1个答案)
Some Unix commands fail with “<command> not found”, when executed using Python Paramiko exec_command
(1个答案)
7个月前关闭。
我使用以下代码通过SSH成功执行了命令:
import paramiko
hosts = ["192.168.1.156"]
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
for host in hosts:
client.connect(host, username='user', password='******')
stdin, stdout, stderr = client.exec_command("df -H")
output = ''.join(stdout.readlines())
Print(output)
但是,一旦我将“df -H”命令交换为“smartctl -H disk1”,我就不会从Python得到任何输出。
值得一提的是,我也没有任何错误。
当我在终端中运行“smartctl -H disk1”时,它可以正常工作并提供我期望的输出,但是它只是通过Paramiko命令运行,这似乎是问题所在。
有任何想法吗?
干杯,
乔治
最佳答案
取决于哪个命令不起作用。
client.exec_command(“smartctl -H disk1”)
然后,我在提供“/ usr / local / bin / smartctl”的终端中输入“哪个smartctl”
代替这个,而不仅仅是smartctl,可以治疗。
例如client.exec_command(“/ usr / local / bin / smartctl -H disk1”)
干杯!
10-07 13:08