我想将SSH命令发送到Unifi天线,特别是以下命令:set-inform http://unifi.<ip>:<port>/inform
。该命令与Putty完全兼容,但是当我使用以下代码时,会收到以下响应:
Resp:
Err: ash: set-inform: not found
我怀疑所选的shell错误。
import paramiko
ip = 'XX.XX.XX.XX'
port = 22
username = 'XXX'
password = 'XXX'
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, port, username, password)
stdin, stdout, stderr = ssh.exec_command("set-inform http://unifi.<ip>:<port>/inform")
outlines = stdout.readlines()
errors = stderr.readlines()
resp = ''.join(outlines)
respErrors = ''.join(errors)
print('Resp: '+resp)
print('Err: '+respErrors)# Output
except AttributeError:
print("Erreur inconnue" + stderr)
except TimeoutError:
print("Erreur de connexion")
答案 0 :(得分:1)
我需要指定命令的路径。这是要写的:
stdin, stdout, stderr = ssh.exec_command(" /usr/bin/mca-cli-op set-inform http://unifi.<ip>:<port>/inform")
您可以在此处查看整个项目:https://github.com/simbarras/unifiAdopter