如果
SSHClient.exec_command不工作时,首先认为测试是尝试(上
一个 行):
ssh user@host command
它将使用与相同的SSH API(“
exec”通道)
SSHClient.exec_command。如果您使用的是Windows,则可以使用
plink(从PuTTY软件包中)代替
ssh。如果
ssh/也
plink失败,则表明您的设备不支持SSH“
exec”通道。
对于您的情况,看来Brocade SSH服务器上的“ exec”通道已实现为
scp仅支持该命令。
正如您声称能够“ SSH”到交换机一样,似乎“ shell”通道已完全正常工作。
虽然通常不建议使用“
shell”通道进行命令自动化,但是对于服务器,您将没有其他选择。使用,
SSHClient.invoke_shell然后使用将命令写入通道(=写入外壳)
Channel.send。
channel = ssh.invoke_shell()channel.send('lsn')channel.send('exitn')


